1樓:
答案是0
因為是賦值運算,所以從右往左運算
先算a*=a,即a=a*a,a=12,則a=144;
再算a-=a;即a=a-a,由上式有a=144,從而算得a=0;
最後算a+=a,即a=a+a,由上式有a=0,算得a=0.
2樓:
這種問題有兩點需要說明:
1、實際執行結果與編譯器有關
2、這個需要提到一個概念,即序列點,具體你可以搜尋理解理解具體到這個題目來講,在vc6.0編譯器下面就是從後面往前面算1、執行a*=a → a=12*12=1442、執行a-=a*=a → a=a-a=144-144 =03、執行a+=a-=a*=a →a= a+a = 0+0 =0最後結果為0,以上執行過程經過彙編測試證明vc6.0編譯器上就是這樣的
to vip_show:學c這麼多年,這個問題你還沒弄清楚哦?多學習點編譯相關的知識吧
3樓:
a+=a-=a*=a
分為三段 a有2個值
一, a+=a
a=a+a=12+12=24
二, a-=a
a=a-a=24-24=0
最後 a*=a
a=a*a=0*0=0
得出a=0
學完c有很多年了!貌似是這樣!
補充!要是按1樓的說法,那你反過來算!
最後答案好像都是a=0
4樓:匿名使用者
c程式是在優先順序相同的時候,是從右往左開始讀取的.
結果是:0
5樓:匿名使用者
自己編譯下不就不就好了嗎~?
跪求懂C 的人幫下忙,幫忙寫一下這個程式的註釋。還有這個程式有錯誤,我不會改,也幫忙改一下
程式簡單,幫你大概註釋了下,沒有標頭檔案 goods.h 和 staff.h 主要是兩個類,也不難寫,不除錯給你改錯了。這些常量懂吧?define staffamount 4 define goodsamount 3 define salesrecordamount 10 define gperce...
關於電腦程式演算法的問題,請懂程式設計的解答在。C語言學習。書中我看到兩個迴圈結構當型和直到
給你舉個典型的例子 while 條件 就是一個所謂的當型迴圈條件成立,則執行while裡的語句,直到不符合條件,終止迴圈。或者你可以在while裡面加入break 則不管條件是否成立都直接跳出迴圈。以下兩個範例,就是條件式成立時執行 while conditoin dowhile condition...
求大神幫編個C 程式。關於單連結串列的。300分,devc 可以執行的
include using namespace std define limit 10000000struct node int count node head,int x int get max node head node locate node head,int i void tidyup n...