第一步:i=1; 然后判断i+1(结果是2,不等于0),则继续执行{;}(一个空语句,什么也没做)
第二步:执行i++(i=2),然后判断i+1(结果是3,不等于0),则继续执行{;}(一个空语句,什么也没做)
后面重复第二步,一直循环下去。。。。
如果i的类型是unsigned int,则无限循环。
如果i是int型,则直到i等于int的最大值,即2147483648(2的31次方),
然后i++(结果因为超过最大值,i变为负数,即-1),此时再进行判断i+1,结果为0,结束for循环。
亲 你写错了
for(i=1;i<=100;i++)
{
printf("hello world!\n");
}
这样你就会明白的 i=1执行一遍printf("hello world!\n");
之后i++ i=2了 又执行一遍printf("hello world!\n");
。。。。。。
一直到i=100 执行printf("hello world!\n");
i++ i=101 但是我们的条件是i<=100 不满足条件了 所以循环结束
记得采纳哦~~~~亲!
。。。是这样的吧
1.i=1//给i赋予初值(一个循环只执行一次)
2.i+1//判断(i+1)的正确性,结果为2,返回true,继续执行
3.{;}//无内容。。。
4.i++//给i加1
然后循环2、3、4步,直到第2步返回值为false,或第3步中执行return语句,循环结束。
貌似你的退出循环的两个条件都不符合,所以无限循环,即死循环。
这里先是i=1,然后i=i+1=2,这时判断2为非零,循环进行i++,i就变成3了,而后面的分号“;”是一个空语句,不进行任何操作。此时再进行i+1,i变成4,4又是非零,所以循环继续,执行i++,i变成5,如此下去i不可能为零,所以会一直执行下去,形成死循环。
循环语句,一次判断for语句中的3个条件,如果i = 1就执行下一步i+1在执行下一个i++,在执行{}里的语句,然后在判断i = 1这样循环
死循环!!!!!!!!!!