ξ不是山谷 2022-05-19 16:42 采纳率: 100%
浏览 30
已结题

这个代码里for(; a;)怎么解释

#include<stdio.h>
main()
{ int a=6,b=0,c=0;
for (; a;) {
b+= a;
a -=++c;
}
printf("%d,%d,%d\n", a,b,c);
}

  • 写回答

1条回答 默认 最新

  • 於黾 2022-05-19 16:51
    关注

    for(a;b;c)
    a,b,c是三个表达式,都可以省略不写
    如果都不写,等价于while(1)
    其中,a在进入for循环时执行一次(初始化)
    b在每次执行循环之前计算,并作为是否继续循环的依据,类似while(b)
    c在每次执行循环结束后执行,一般都是i++这种形式,迭代
    如果写for(;b;)
    那么其实就等价于while(b)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月20日
  • 已采纳回答 5月20日
  • 创建了问题 5月19日