【发布时间】:2023-03-16 13:35:01
【问题描述】:
此代码会引发需要左值的编译时错误。
#include <stdio.h>
void main()
{
int k = 8;
int m = 7;
k < m ? k++ : m = k;
printf("%d", k);
}
【问题讨论】:
-
clang相对于三元运算符中的m = k表示error: expression is not assignable。 -
你想用
k < m ? k++ : m = k;做什么? -
三元运算符不是
if的替代品。
标签: c