當指標、自增(++)或者自減(--)運算子,以及*這三個 運算子在同乙個語句時,要注意++的作用點在**。
測試**:
#include
int main() ;
int *p = i;
printf("...%d\n", *p++);
printf("*p = %d\n", *p);
printf("...%d\n", *++p);
printf("*p = %d\n", *p);
printf("...%d\n", ++*p);
printf("*p = %d\n", *p);
return 0;
}測試結果:
...100
*p = 200
...300
*p = 300
...301
*p = 301
分析如下:
1.int *p = i;
此時,指標執行陣列第乙個元素。
2.printf("...%d\n", *p++);
此時,由於*和++的運算子優先順序相同,而且結合性是由右至左,因此*p++其實就是:*(p++)。由於此處的++是後繼加,所以先得到*p為100之後,才會處理++的動作。所以這個語句先列印出100,然後將p指向下一位址。
3.printf("...%d\n", *++p);
4.printf("...%d\n", ++*p);
這個語句相當於: ++(*p)。所以++是對*p的值加1。此語句等同於:
*p = *p + 1;
將*p (此時為300)加1,再放入*p中。
最後,*p的運算結果為301。
C語言自增自減
i,i 使用i之前,先使i的值加 減 1。i i 使用i之後,再使i的值加 減 1。其中 i和i 的作用相當於i i 1。但是 i和i 不同之處在於 i是先執行i i 1後,再使用i的值 而i 是先使用i的值後,再執行i i 1。例如 i 6a i i的值先變成7,再賦值給a,a的值才為7 b i ...
C語言 自增( ) 自減( )運算
1.作用 自增運算使單個變數的值增 自減運算使單個變數的值減 2.用法與運算規則 自增 自減運算子都有兩種用法 1 前置運算 運算子放在變數之前 變數 變數 先使變數的值增 或減 然後再以變化後的值參與其它運算,即先增減 後運算。2 後置運算 運算子放在變數之後 變數 變數 變數先參與其它運算,然後...
C語言自增和自減
乙個整數型別的變數自身加 1 可以這樣寫 a a 1 或者 a 1 不過,c語言還支援另外一種更加簡潔的寫法,就是 a 或者 a 這種寫法叫做自加或自增,意思很明確,就是每次自身加 1。相應的,也有a 和 a,它們叫做自減,表示自身減 1。和 分別稱為自增運算子和自減運算子,它們在迴圈結構中使用很頻...