int a = 10;
int b = 5;
(a>b ? a:b)= 2;
1,c 编译错误
2,c++编译正确 并且能得到结果 a 的值变为2了
为什么会出现上述情况?
Cause c返回的是一个常量 而c++返回的是一个变量
所以这样:
*((a>b ? &a:&b)) = 2;
就可以在c里面得到和c++一样的结果了
int a = 10;
int b = 5;
(a>b ? a:b)= 2;
1,c 编译错误
2,c++编译正确 并且能得到结果 a 的值变为2了
为什么会出现上述情况?
Cause c返回的是一个常量 而c++返回的是一个变量
所以这样:
*((a>b ? &a:&b)) = 2;
就可以在c里面得到和c++一样的结果了