好吧,我知道表達式(x * = y = z = 4;)的輸出是40;但是我們究竟得到40呢?你能不能一步一步向我展示。解決複合賦值表達式
我以爲優先級從右到左左右(2×4)=(Z = 4),我不明白
#include <stdio.h>
#define PRINTX printf("%d\n",x)
int main (void){
int x = 2, y, z;
x *= 3 + 2;
PRINTX;
x *= y = z = 4;
PRINTX;
x = y == z;
PRINTX;
x == (y = z);
PRINTX;
return 0;
}
好的問題的方式。 – EJoshuaS