读书人

printf函数输出异常

发布时间: 2012-06-16 20:34:32 作者: rapoo

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代码中非常容易出错的地方。
所以在编译源代码之前值得专门仔细检查一遍甚至多遍。

[解决办法]
探讨

printf里面的%和变量的一一对应关系
scanf里面的%和变量以及变量前加不加&的一一对应关系
是C代码中非常容易出错的地方。
所以在编译源代码之前值得专门仔细检查一遍甚至多遍。

[解决办法]
楼主多了个花括号,
在输入的时候要与scanf一样用空格隔开
最后当double时,是%lf
[解决办法]
探讨
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){
……

读书人网 >C语言

热点推荐