++,--操做符的本質
spa
++,--操做符使用分析
·C語言中只規定了++和--對應指令的相對執行次序
·++和--對應的彙編指令不必定連續運行
·在混合運算中,++和--的彙編指令可能被打斷執行code
++和--參與混合運算結果是不肯定的blog
·貪心法:++,--表達式的閱讀技巧
-編譯器處理的每一個符號應該儘量多的包含字符
-編譯器以從左向右的順序一個一個儘量多的讀入字符
-當讀入的字符不可能和已讀入的字符組成合法符號爲止編譯器
空格能夠做爲C語言中一個完整符號的休止符
編譯器讀入空格後當即對以前讀入的符號進行處理it
例子17-2:io
int main()
{編譯
int i = 0; //int j = ++i+++i+++i; //++i++ ==>1++ 常量不能自加 int a = 1; int b = 4; int c = a++ +b; int* p = &a; b = b/ *p; printf("c= %d\n",c); printf("a= %d\n",a); printf("b= %d\n",b); return 0;
}
輸出結果:
c= 5
a= 2
b= 2class
小結:
·++和--操做符在混合運算中的行爲可能不一樣
·編譯器經過貪心法處理表達式中的子表達式
·空格能夠做爲C語言中的一個完整符號的休止符
·編譯器讀入空格後當即對以前讀入的符號進行處理
狄泰軟件學院課程軟件