#include <stdio.h>
main()
{
float a; 将//float a 改为double a就有1.0了
for(a=0.0;a<=1.0;a+=0.1)
printf("%.1f\n",a);
}
为什么得不到1.0 ????
因为a+=0.1右边是double型,左边是float型,数据类型不匹配而已!
----------------解决方案--------------------------------------------------------
#include <stdio.h>
main()
{
double a;
for(a=0.0;a<=1.0;a+=0.1)
printf("%.lf\n",a);
return 0;
}
/*这个可以,但不是输出1.0*/
----------------解决方案--------------------------------------------------------
#include <stdio.h>
main()
{
double a;
for(a=0.0;a<=1.0;a+=0.1)
printf("%.lf\n",a); //不是.lf 是.1f 这个小地方要注意了
return 0;
}
/*这个可以,但不是输出1.0*/
----------------解决方案--------------------------------------------------------
呵呵,我写的时候是.1lf,后来我看输出的是1,所以就改成.2lf,这样别的全输出两位小数.后来想把它改过来就不小心删掉1了.谢谢提醒.
----------------解决方案--------------------------------------------------------