慕沐0066330
2015-07-31 09:26
#include <stdio.h>
int main()
{
int a,b,c,d;
double result;
a = 1;
b = 2;
c = 3;
d = 4;
result = a+b+c+d; //在这里体验哦~
printf("%d\n", result);
return 0;
}
用%f的答案是10.000000,我嫌太长了,就改成%d,那答案应该就是整数了。
可是为什么把%f改为%d后答案不是10?
%f需要后面传入printf的参数为浮点型(double或float),%d则用于整型。而result是整型,用%f自然就错了。
这些格式化指示符必须和后面传入的参数类型相匹配。
result被定义为double了 改成int就行了
#include<stdio.h>
int main()
{
int a,b,c,d;
int result;
a=1;
b=2;
c=3;
d=4;
result=a+b+c+d;
printf("%d\n",result);
return 0;
}
C语言入门
926210 学习 · 20797 问题
相似问题