初学者问一个很弱智的问题
如上图所示,看视频看见一段这样的程序感觉顺序有点问题,但是结果却是对的,然后做了个试验,结果让本菜鸟很纠结。
#include <stdio.h>
#include <stdlib.h>
void main()
{ float n,i;
n=1;
i=1;
while(i>=0.1)
{n++;
i=1/n;
}
printf("%f %f",n,i);
system("pause");
}
这一段程序执行结果为:n=11,i=0.09.这是正常的。
但是把程序稍微改动下,改成while(i>=0.01)
#include <stdio.h>
#include <stdlib.h>
void main()
{ float n,i;
n=1;
i=1;
while(i>=0.01)
{n++;
i=1/n;
}
printf("%f %f",n,i);
system("pause");
}
执行结果却为n=100,i=0.01;貌似是应该执行到n=101才对的啊?
用的是vs2010.