把%f改為%d后答案不是10?
#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,那答案應(yīng)該就是整數(shù)了。
可是為什么把%f改為%d后答案不是10?
2015-07-31
%f需要后面?zhèn)魅雙rintf的參數(shù)為浮點型(double或float),%d則用于整型。而result是整型,用%f自然就錯了。
這些格式化指示符必須和后面?zhèn)魅氲膮?shù)類型相匹配。
2015-10-08
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;
}