c++基础知识3——三目运算符

三目运算符的返回值

c语言中:
返回值为变量值,不能作为左值使用。
c++中:
当作为左值时直接返回变量本身,当作为右值时返回变量值。如:

int a=1;
int b=2
(a<b ? a : b)= 3;	//在c语言中此句报错,而c++则正确

注意,如果返回的值中有一个是常量值,则不能作为左值使用。如下会报错:

(a<b ? a : 2=3;	//在c++中会报错