JavaとCの演算子評価順序の違いについて
Javaの初学者です。
以下のCとJavaのプログラムで実行結果が異なります。
何が原因なのでしょうか。
原因に関連するキーワードなど教えていただきたいです。
よろしくお願いします。
・Javaのコード
int a = 0;
if(a == ++a)
{
System.out.println("equal");
}else{
System.out.println("not equal");
}
実行結果
not equal
Cのコード
int a = 0;
if(a == ++a)
{
printf("equal\n");
}else{
printf("not equal\n");
}
実行結果
equal