c语言里:for(i=1;i<=3;i++) 1。第一次是直接进入循环的吗,还是先检验i是否<

c语言里:for(i=1;i<=3;i++)
1。第一次是直接进入循环的吗,还是先检验i是否<=3
2。这个循环可以循环到i等于4吗,就是是在i等于3的时候进行检验,发现i<=3,然后i+1=4,i=4进入循环体
3。如果i++变为++i,一样吗,有什么区别。
求高人。。。。

1、先判断i是否<=3,如果符合条件才进入循环。
2、退出循环的时候i=4,当i=3的时候,还是符合i<=3的,然后进行循环后,i++,变成4,在判断i<=3,不符合,退出循环。也就是i=4的时候,只执行判断,但是不执行循环体。
3、这里++i和i++没有区别。
不懂请追问,满意请采纳,谢谢追问

int f2()
{static int k=1,s;
s=s+k;
k++;
return s;}
for(i=1;i<=3;i++) f2()
printf(“%d\n”,f2())
这是那个循环完整体,最后输出的是10,是不是是在循环体里的时候是6,然后在printf的时候又来一次函数f2,6+4=10,输出10,是这样吗

追答

for(i=1;i<=3;i++) f2()这里执行了3次f2(),打印的时候又执行了一次f2()。你的分析是对的

追问

谢谢!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-06

    先检验i

    i<=3时进入循环,循环结束i++,这时i=4,再检验i是否<=3,不符合,退出循环

    在这里是一样都会使 i 加1,i++是先拿i来用,用完后再++,++i则是先把i加1了在拿来用

第2个回答  2014-01-06
1、第一次也需要检测 循环条件 i<=3
2、i可以等于4但是当i等于4的时候不会进循环体
3、i++和++i效果一样
第3个回答  2014-01-06
楼上前两问觉得很正确,第三问,那两个有些不一样。
int a = 1,b = 1;b= a++;输出b。
另一个int a = 1,b = 1;b= ++a;输出b;
结果不一样吧
相似回答