Возможный дубликат:
Ошибка: lvalue требуется в этом простом коде C? (Тернар с присваиванием?)
В следующем фрагменте кода я получил ошибку типа «lvalue required as left operand of assignment
». Я не могу понять, почему сообщается о такой ошибке. Но когда я использую круглые скобки в таком выражении, как (i>j)?(k=i):(k=j)
, это не сообщает об ошибке. пожалуйста, объясни.
int main() {
int i = 2;
int j = 9;
int k;
(i>j) ? k=i : k=j;
printf("%d\n",k);
return 0;
}