首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

printf函数输出异常

2012-06-16 
printf函数输出错误?我刚学C语言,有点不懂。为什么我最后打印出来的数永远是0??代码如下:C/C++ code#includ

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

[解决办法]
楼主多了个花括号,
在输入的时候要与scanf一样用空格隔开
最后当double时,是%lf
[解决办法]
探讨
C/C++ code

#include <stdio.h>
#include<conio.h>

int main(){
double max = 0,a,b;
scanf("%lf %lf %lf",&amp;max,&amp;a,&amp;b); //double要用%lf才行
if(a>max){
……

热点排行