テスト (c/cpp)
#include <stdio.h>
int main(int argc, char** argv)
{
int a = 0, b = 0;
printf("a = %d, b = %d\n", a, b);
b = (++a)--;
printf("a = %d, b = %d\n", a, b);
return 0;
}
上記を .cpp ファイルとして保存すると、実行時にコンパイルされて出力されます。
a = 0, b = 0
a = 0, b = 1
ただし、.c ファイルとして保存すると、次のエラーが発生します。
test.c:7:12: error: lvalue required as decrement operator.
(++a)
操作は操作の前に解決されるべきではありません(newValue)--
か? 誰かがこれについて何か洞察を持っていますか?