我有一个c语言问题

来源:百度知道 编辑:UC知道 时间:2024/06/22 07:52:32
执行以下for语句后,变量i的值是几
for(i=1;i++<=5;);

我知道答案是7,但是我不知道是为什么,我算的结果是6,但是在电脑中运行的结果的确是7,能不能提供计算过程。小生谢了

你看一个程序就明白了
for(i=0;i<=5;i++)
{
a=i+1
printf("%d",i);
}
printf("%d",i);
你看看前后i的值一样吗
前面的是5
后面的是6

令 y=i++
最后 第二次 做i++的时候 i=6 但是 y还是=5 满足条件

最后次 循环 i++ 这个时候 i为7 y为6 不满足循环 跳出 循环

当i=5的时候5<=5本行语句执行结束,i变为6;再循环,i=6的时候i<=5不成立,退出循环,执行i++,i变为7,关键是最后退出循环的时候i会再加一次。

i = 1; i <= 5 ; true i++; i = 2;
...
i = 5; i <= 5; true; i++; i = 6;
i = 6; i <= 5; false; i++; i = 7;