c➕➕编程基础的问题

img


12题为什么输出11,10啊?为什么不是10,10啊? (x➕➕,y)输出哪一个啊

(x++,y)输出y,逗号表达式最后一个

img

计算机从右向左计算,输出的时候 先算了 y++,再算逗号表达式

img

#include<iostream>

using namespace std;

int main(){
    
    int x = 10;
    
    int y = x ++; //y = 10 , x 最后成为11
    
    cout << (x ++ , y) << "," << y ++ << endl; // ①先算y ++ ,y = 10 + 1 = 11, ② 算逗号表达式 x++ => x = x + 1 = 12, y = 11 ,最终逗号表达式只看最后一个,即y 
    
    //验证x 的值 
    cout << x << endl;
    
    return 0; 
    
}

img

或者像下面这样看

img