122Ml 发表于 2020-8-9 14:05:54

关于for函数

代码:
#include <stdio.h>

int main()
{
        int k;
       
        for(k=1,printf("%d:Hi!\n",k);//初始化计数器
          printf("k=%d\n",k),k*k<26;//循环条件
          k+=2,printf("Now k is %d\n",k))//更新计数器
        {
                printf("k is %d in the loop\n",k);
        }
       
       return 0;
       
}
结果:
1:Hi!
k=1
k is 1 in the loop
Now k is 3
k=3
k is 3 in the loop
Now k is 5
k=5
k is 5 in the loop
Now k is 7
k=7

--------------------------------
Process exited after 0.7669 seconds with return value 0
请按任意键继续. . .
如果设for函数:
for(a;b;c;)
{
        statement;
}
那么出现这种结果的原因是for函数的运行顺序为
a——b——statement——c
虽然部分语句在语义上不符合每个表达式的要求(初始化计数器,循环条件,更新计数器),但当程序运行到这的时候,还是会执行该语句,是这样吗?

zltzlt 发表于 2020-8-9 14:10:36

就是这样。另外提醒下 for 不是函数,它是一个语句。

122Ml 发表于 2020-8-9 14:12:16

zltzlt 发表于 2020-8-9 14:10
就是这样。另外提醒下 for 不是函数,它是一个语句。

ok,谢啦
页: [1]
查看完整版本: 关于for函数