鱼C论坛

 找回密码
 立即注册
查看: 363|回复: 2

[已解决]关于for函数

[复制链接]
发表于 2020-8-9 14:05:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
代码:
  1. #include <stdio.h>

  2. int main()
  3. {
  4.         int k;
  5.        
  6.         for(k=1,printf("%d:Hi!\n",k);//初始化计数器
  7.             printf("k=%d\n",k),k*k<26;//循环条件
  8.             k+=2,printf("Now k is %d\n",k))//更新计数器
  9.         {
  10.                 printf("k is %d in the loop\n",k);
  11.         }
  12.        
  13.          return 0;
  14.        
  15. }
复制代码

结果:
  1. 1:Hi!
  2. k=1
  3. k is 1 in the loop
  4. Now k is 3
  5. k=3
  6. k is 3 in the loop
  7. Now k is 5
  8. k=5
  9. k is 5 in the loop
  10. Now k is 7
  11. k=7

  12. --------------------------------
  13. Process exited after 0.7669 seconds with return value 0
  14. 请按任意键继续. . .
复制代码

如果设for函数:
for(a;b;c;)
{
        statement;
}
那么出现这种结果的原因是for函数的运行顺序为
a——b——statement——c
虽然部分语句在语义上不符合每个表达式的要求(初始化计数器,循环条件,更新计数器),但当程序运行到这的时候,还是会执行该语句,是这样吗?
最佳答案
2020-8-9 14:10:36
就是这样。另外提醒下 for 不是函数,它是一个语句。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-9 14:10:36 | 显示全部楼层    本楼为最佳答案   
就是这样。另外提醒下 for 不是函数,它是一个语句。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-9 14:12:16 | 显示全部楼层
zltzlt 发表于 2020-8-9 14:10
就是这样。另外提醒下 for 不是函数,它是一个语句。

ok,谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-1 15:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表