结果应该是17吧?那位叫苗伊的,你错了哎。。。
#include <stdio.h>
void main()
{
int i;
float a;
a=0.09;
for(i=0;a<=8848;i++)
a=a*2;
printf("需要折叠%d次",i);
}
/*
需要折叠17次
Press any key to continue
*/
我用的是Microsoft Visual C++ 6.0 编译系统。这个程序运转正常,编译的时候没有报错,但是有一个警告,如下,希望高手能给解答一下~
--------------------Configuration: aaaaaaaaaaaaaa - Win32 Debug--------------------
Compiling...
aaaaaaaaaaaaaa.c
C:\Documents and Settings\zzz\aaaaaaaaaaaaaa.c(14) : warning C4305: '=' : truncation from 'const double ' to 'float '
aaaaaaaaaaaaaa.obj - 0 error(s), 0 warning(s)
我把float a;换成double a; ,系统就没有警告了。上边的警告,是系统提示程序没有为变量开辟足够的存储空间么???