C和CPP关于条件运算符的区别

时间:2023-03-09 15:14:57
C和CPP关于条件运算符的区别

条件运算符形式:

cond ? expr1 : expr2;

在C语言中执行过程是:

先对cond求值,值为真返回expr1的值,否则返回expr2的值.(右值)

gcc测试结果:

C和CPP关于条件运算符的区别

在Cpp中如果两个表达式都是左值的话,那么运算的结果也是左值(也就是表达式本身,我给表达式赋值并打印出来),否则就是右值。

C和CPP关于条件运算符的区别