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 关联性的必要条件),它是较早执行的。但在那种情况下答案是不同的。