如果妳想讓結果為10,那麽應該更改為:
y=((x=a+b),(b+c));
就多壹組括號。
否則,編譯器認為妳先計算了y=(x=a+b),然後計算了(b+c),兩個計算結果,最後把(b+c)作為整行的結果返回。但是返回值沒有變量接收。
修改後的源代碼如下:
#include<stdio.h> // 頭文件,必須要有
main()
{
int x,y,a=2,b=4,c=6;
y=((x=a+b),(b+c)); // 這裏修改了。
printf("y=%d,x=%d",y,x); // 妳原來的代碼中,少了壹個逗號,編譯不過去的。
}