-3
int i = 2, j = 3, k, l ;
float a, b ;
k = i / j * j ;
l = j / i * i ;
a = i / j * j ;
b = j / i * i ;
printf( "%d %d %f %f", k, l, a, b ) ;
}

これは yashwant kanetkar の単純な C プログラムですが、私は答えに関係することができませんでした。このプログラムをコンパイルすると、得られる出力は

0 2 0.00000 2.00000

これは非常に単純なプログラムですが、結合性と混同されている可能性があるため、出力を説明できません。/ と * の両方に L から R への結合性があり、/ だけが明確な左オペランド (L から R への結合性に必要な条件) を持っている場合は、先に実行されます。しかし、その場合は答えが異なります。

4

1 に答える 1