三元运算符,或者叫条件运算符(conditional operator),返回的是左值。也就是说,它不仅可以赋值给其他变量,也可以被其他表达式赋值。看下面的例子
#includeint main(void) { int k = 0, l = 1; (4 > 3 ? k : l) = 5;//注意,要加括号,否则l=5将率先结合在一起 std::cout << "k = " << k << ",l = " << l << std::endl; std::cin.get(); return 0; }
执行结果:
因为4>3是真,所以条件运算符返回了k的左值,进而被赋值为5
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)