当前位置:  开发笔记 > 编程语言 > 正文

C编程-while循环中的逗号运算符

如何解决《C编程-while循环中的逗号运算符》经验,为你挑选了1个好方法。

编1:

#include
 int main()
 {
     int i=0;
     while(i<=8,i++);
     printf("%d",i);
     return 0;
  }

编2:

#include
 int main()
{
  int i=0;
  while(i++,i<=8);
  printf("%d",i);
  return 0;
}

Prog 1的输出为1,而Prog 2的输出为9。

有人可以解释一下这里发生了什么。两种代码有何不同?



1> StoryTeller ..:

逗号运算符依次评估其两个参数,并丢弃结果(最后一个除外)。最后计算的表达式确定整个表达式的结果。

i<=8,i++-这里的表达式的值是的值i++,它是i递增之前的值。它为0,因此循环立即终止。

i++,i<=8-这里的表达式的值i<=8是仅当i增加到9 时表达式的值才为0 。

我个人认为:第二种形式虽然与for循环有些相似,但对代码的读者来说却不如实际的for循环清楚。

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有