先看以下代码在C中的效果 123456789101112 int main(int argc, const char * argv[]) { int a = 10; int b = 20; //返回一个最小数 并且给最小数赋值成30 //该行报错 ,原因是C语言中表达式不可能做左值 (a < b ? a : b ) = 30; printf("a = %d, b = %dn", a, b); return 0;} 而在C++中者编译通过,打印出结果 12 a = 30, b = 20Program ended with exit code: 0 总结C语言返回的是变量的值,不能作为左值使用C++返回的是变量本身,可以出现在任何地方 赞微海报分享
近期评论