解决方案 »

  1.   

    可能与编译器有关
    就像i = 7;
    i++ * i++ = 49一样,知道就行了,没必要纠结
      

  2.   

    语言标准没有规定表达式内并列参数的求值顺序,编译器想怎么做都可以
    printf的九个参数,编译器想先算第八个再算第二个后算第五个都是它的自由,如果程序员以为计算顺序是从左到右或者从右到左,并在代码逻辑上依赖自己空想的这个顺序,那出任何问题都是程序员的责任