编程时得不到预定结果,新手小白刚接触c语言
代码如下:
#include <stdio.h>
main()
{
float fahr,celsius;
scanf("%d\n",&fahr);
celsius=5*(fahr-32)/9;
printf("%d\n",celsius);
return 0;
}
这是华氏温度计转换为摄氏温度,输入41,应返还5.
可是程序生成后,输入41,没有返还值。
vs2010下编译
[解决办法]
去查scanf和printf里,%d和%f有啥区别
此外,scanf里加个\n作甚?
格式化输入输出啊
先查清楚函数用法再写代码
[解决办法]
如楼上所说。。另:F表示浮点型float D表示整型INT
[解决办法]
#include <stdio.h>int main(int argc, char* argv[]){ float fahr; float celsius; scanf("%f", &fahr); celsius = 5 * (fahr - 32) / 9; printf("%f\n", celsius); return 0;}
[解决办法]
#include <stdio.h>main(){ float fahr,celsius; scanf("%f",&fahr); celsius=5*(fahr-32)/9; printf("%f\n",celsius); return 0;}
[解决办法]
printf里面的%和变量的一一对应关系
scanf里面的%和变量以及变量前加不加&的一一对应关系
是C代码中非常容易出错的地方。
所以在编译源代码之前值得专门仔细检查一遍甚至多遍。
%d int
%f float
%lf double