#include <stdio.h>
int main ()
{
float num1,num3;
int num2;
printf("\nplease input three nums:");
scanf("%f %d %f",&num1,&num2,&num3);
printf("%f",num1+num2+num3);
return 0;
}
输入3个数字:10 4.5 -3.2;
自己口算的话答案是11.80000;
可是用编译器编译,结果是14.500000;
与自己预期的结果不一样,这是为什么呢?
我一直认为num1为10,num2为4.5,num3为-3.2;因为第2个数为整数,所以num2取4.
所以结果为10+4-3.2=11.8。
14.5不知怎么算到的;
想了好久想不出来,于是百度了一下,才知道了答案。
答案是num1取10,num2取4,num3取0.5,这样求的话,答案就没错了.
是我自己没搞懂%d,%f的用法.