#include <stdio.h>
void main()
{
int k = 8;
int m = 7;
int z = k < m ? k = m : m++;
printf("%d", z);
k = 8;
m = 7;
z = k < m ? m++ : k=m;
printf("%d", z);
}
出力
Compile Error:
main.c: In function 'main':
main.c:19:32: error: lvalue required as left operand of assignment
z = k < m ? m++ : k=m;
^
- 最初の割り当てが機能し、2 番目の割り当てが機能しないのはなぜですか?
- そして、なぜコンパイラは左辺値が必要であると言うのですか?