printf函数输出错误?
我刚学C语言,有点不懂。
为什么我最后打印出来的数永远是0??
代码如下:
- C/C++ code
#include <stdio.h>int main(){ double max = 0,a,b; scanf("%f %f %f",&max,&a,&b); if(a>max){ max = a; } if(b>max){ max = b; } printf("%lf",max); getch(); return 0;}}[解决办法]
- C/C++ code
#include <stdio.h>#include<conio.h>int main(){ double max = 0,a,b; scanf("%lf %lf %lf",&max,&a,&b); //double要用%lf才行 if(a>max){ max = a; } if(b>max){ max = b; } printf("%lf",max); getch(); return 0;}
[解决办法]
scanf("%f %f %f",&max,&a,&b);//错误
double 的字符输入格式是%lf
[解决办法]
1楼正解。。。。。。。
[解决办法]
printf里面的%和变量的一一对应关系
scanf里面的%和变量以及变量前加不加&的一一对应关系
是C代码中非常容易出错的地方。
所以在编译源代码之前值得专门仔细检查一遍甚至多遍。
[解决办法]
[解决办法]
楼主多了个花括号,
在输入的时候要与scanf一样用空格隔开
最后当double时,是%lf
[解决办法]