main()
{ int a=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf(“%d,%d,%d\n”,a,b,c);
}
運行結果為0,0,5
我不明白啊,哪位能詳細解說一下?
c=(a-=a-5),(a=b,b+3); 是一個兩部分的逗號表達式,第一部分中(a-=a-5)實際是a = a - (a - 5);是a = 0 - (0 - 5)則a = 5,第一部分變為c=(a=5),所以a和c都等於5,第二部分也是逗號表達式,a=b將b賦值給a,b是0.所以a也變為0,現在a和都為0,c為5,最後一個b+3沒有作用。所以最後的值a、b、c分別是0、0、5