只能将x作为输入。y和z没有出现。已尝试更改数据类型。
这里有几个问题:
-
扫描的第二个参数应该指向变量的位置,即:
scanf("%d",&x);
这将把扫描值放在x的位置。和现在一样,你把它放在*x,它是空的,如果有什么不同的话,它不会做你期望的事情。你应该让你所有的scanf语句看起来像
- 您正在使用scanf做一些您可能无意的事情。删除\n。任何不是空白字符(空白、换行符或制表符(或格式说明符(以%字符开头(的字符都会导致函数从流中读取下一个字符,将其与该非空白字符进行比较,如果匹配,则丢弃该字符,函数继续使用下一个格式字符。如果字符不匹配,函数将失败,返回流中的后续字符并保持未读状态
您放入变量二重c的最终数学方程可能没有达到您预期的效果。在开始计算公式之前,您可能应该转换为double。如果编译器假设你在做整数运算,它可能会将你所有的分数运算四舍五入为0。你可以这样投:
c = (((double)x + y)*z)/x - 2;
警告说scanf
需要一个int
指针(存储输入的位置(,而不是int
值。
将scanf
参数x
更改为&x
等