for循环为什么在括号外面打印的值加1呢

来源:百度知道 编辑:UC知道 时间:2024/07/13 00:59:20
#include <stdio.h>
main()
{
int i,j;
for(i=0;i<2;i++)
{
printf("%d\n",i);
}
printf("%d\n",i);
}
为什么括号外面打印的i=2,而不是等于1呢,望高手赐教,十分感谢!!

for循环是这样的
例如for(i=0;i<2;i++)
进入for循环先赋值,i=0,紧接着然后判断i是不是符合循环条件,如果符合就进入循环程序

然后执行循环的程序
然后执行i++
然后再次判断i是不是符合循环条件

所以可以这么理解,for循环之后的条件变量,肯定是第一个不满足循环条件的值,比如你是i<2,第一个不满足条件的就是2,如果是i<=2,第一个不满足条件的就是3

括号里面的当i=1时 i++ i=2 因为i<2
所以就退出了循环 直接把2输出来了

for(i=0;i<2;i++)
{
printf("%d\n",i);
}
i=0时 i=1
i=1 时 i=2
所以i=2

晕,很简单啊,因为你的输出条件是i<2,而你现在是等于2所以他不输出啊,所以等于1啊.

你想啊,当i值是多少的时候,会跳出for语句.自然是当i加到2的时候.个人感觉你对C语言的执行顺序还是不很熟悉,建议多看书