2.6、++和--操作符

时间:2022-09-16 15:18:15
1、int i = 3;
   (++i) + (++i) + (++i) = ?      //C语言中的灰色地带
   第一种编译器结果18   6+6+6
   第二种编译器结果16   5+5+(++i)  gcc  g++
   
2、逗号表达式
    int x = 3;
    int k = (++x, x++, x+10);
    
    从左到右的顺序求值
    最后一个表达式的值就是逗号表达式的值

    
3、面试题中的++i+++i+++i

      a+++b  =>  a++ + b     成立
             =>  a + ++b     ?
                
      贪心法—— ++,--表达式的阅读技巧
        ·编译器处理的每个符号应该尽可能多的包含字符
        ·编译器以从左到右的顺序一个一个尽可能多的读入字符
        ·当即将读入的字符不可能和已读入的字符组成合法符号为止