1. 程式人生 > >學習C語言的總結(第五週)

學習C語言的總結(第五週)

錯誤的地方
1.在賦值運算時,(1)只要資料參與運算後發生改變,變數地址中的資料也會發生改變,在執行下一步運算的時候該變數的數值應該以運算後的數值進行新的運算。(2)但在不含賦值運算子“=”的語句運算後,變數資料不變
例(1):int a=3,b=4,c;
c=a–*++b;
當運算開始,a應該先參與運算(3x5=15),再進行自減(3-1=2);b應該先自增變成(4+1=5),然後參與運算,運算結束後c=15;a=2;b=5
先自增/自減,還是先進行運算,可以通過++/–在前面還是後面來判斷

例(2):int a=3;
printf("%d",a=2+3,a+5,a+10);
運算後結果為最後一個表示式的值,即a=2+3+10=15

2.在執行程式時,運算會按照一定的優先順序還有結合性來執行,其中結合性是C語言具有而其他語言不具有的,在編輯的時候應該注意按照相應的優先順序來執行

所謂的結合性,分為左結合還有右結合。
說白了,就是在運算時遇到同樣優先順序的運算子,需要進一步確定誰先開始運算,就需要從它們的結合性來判斷,絕大多數的結合性都是從左到右