#include<stdio.h>
#include<stdlib.h>
main()
{
float num=100;
float sum=0;
for(int i=0;i<10;i++)
{sum+=num;
num=num*(0.5);}
printf("%d",sum);
system("pause");
return 0;
}
这个代码,当sum输出类型是%d的时候,输出为0.输出类型是%f的时候,输出198.5这是正确结果。我感觉输出类型为%d的时候,应该是199才对。把小数点后的四舍五入就行了。请问我想的,哪里有问题呢