这是我的错误代码
#include<stdio.h>
#include<stdlib.h>
void main() {
//三目运算
int l_v1 = 10;
int l_v2 = 100;
int l_v3 = 0;
l_v2 > l_v1 ? l_v3 = l_v1 : l_v3 = l_v2;
printf("%d\n",l_v3);
system("pause");
}
会报错:error C2106: “=”: 左操作数必须为左值
解决方案:注意运算级,给每个运算级加上括号最保险,也解决了我的问题
(l_v2 > l_v1) ? (l_v3 = l_v1) : (l_v3 = l_v2);