5 回答

TA貢獻18條經驗 獲得超16個贊
? s1 = s1 + s2;表示將s1+s2的結果賦值給s1
? ?s2 = s1 - s2;表示將s1-s2的結果賦值給s2
? ? int s1 = 50;
int s2 = 30;
s1 = s1 + s2;//s1=50+30=80
s2 = s1 - s2;//s2=80-30=50
s1 = s1 - s2;//s1=80-50=30

TA貢獻3條經驗 獲得超3個贊
其實這個題目就是典型的 把a與b的值互換而不借用第三個參數的算法,s1 = s1+s2 就是把int s1 = 50;?int s2 = 30;這兩個值相加并賦給s1,??s2 = s1 - s2 就是用上一步獲得的s1減去s2,并賦給s2!

TA貢獻2條經驗 獲得超1個贊
你好!分析下問題,結果如下:
????????s1 = s1 + s2 ;這里你要理解運算符的優先級, 這里因為+運算符的優先級大于=運算符,所以先執行的+,即先將s1+s2,這步先執行得到一個80,再將結果賦值給s1, 所以此時s1的值為80.
同理可以得到以下算式。
s1 = s1 + s2; 即s1=50+30=80
s2 = s1 - s2; 即s2=80-30=50
s1 = s1 - s2; 即s1=80-50=30
所以最終結果s1 = 30, s2 =50 . 答案是B.

TA貢獻16條經驗 獲得超10個贊
開始s1=50 s2=30 ?執行s1=s1+s2 ; s1 = 50 +30;s1變為80 s2=s1 -s2 即s2=80 - 30=50 再執行s1=s1-s2 即s1=80-50=30 ?最終結果是 s1=30 s2=50 。 ?s1=s1+s2 意思是 把 s1 + s2 的值 賦值給 s1 , s1+s2=50+30=80 然后再賦值給s1,那么s1就為80. 同理 - ?也是一樣
添加回答
舉報