while循环内的表达式求值

时间:2019-12-10 07:46:41

标签: c while-loop expression

CppBuzz.com被打印多少次?

   int main()
    {
      int a = 0;
      while(a++ < 5-++a)
      printf("CppBuzz.com");
      return 0;
     }

如何求解表达式(5-++ a)?

2 个答案:

答案 0 :(得分:1)

比确定代码中的循环计数器-undefined behavior还有一个更大的问题。

.js

尝试多次增加同一变量 while(a++ < 5-++a) 而没有序列点,它将调用未定义的行为。

也就是说,如果您不希望发生任何转换规范,请不要使用a,而应使用printf()

答案 1 :(得分:1)

代码调用了未定义的行为。在这里,多个时间变量puts()递增。

GCC编译器生成警告:

a