簡明C語言教程(二十一)自增自減運算子

2021-08-01 11:13:48 字數 725 閱讀 5035

前自增後自增

前自減後自減

相同:最終都使 i 的值加一

不同:前自增整體表示式的值是i加1之後的值;後自增整體表示式的值是i加1之前的值。

#include 

int main(void)

//result : 4 4 3 4

int i = 3;

printf("%d %d %d",i++,++i,i);

//result : 4 5 5

i += 1;不就可以了嗎?為什麼還有出現i++?原因:**更精煉,自增的速度更快。

我們程式設計時應該盡量遮蔽掉前自增和後自增的區別,自增表示式單獨成乙個語句,最好不要作為乙個更大的表示式的一部分來使用。

比如:int m = i++ + ++i + i + i++;,這樣寫不但是不規範的**,而且是不可移植的**。

這個程式在不同的機器上的執行結果是不一樣的,這裡面牽扯到乙個叫做順序點的問題,因為我們不知道i++執行結束之後,這一步是否立即生效,就是在我執行++i的時候,前面的i有沒有立即加1是不知道的,我們只有順序點才能明確的知道這個操作是否生效,而順序點只有三個:逗號,括號,分號。

作為乙個優秀的程式設計師,在你的程式裡面不應該體現出i++和++i的區別。

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。和 分別稱為自增運算子和自減運算子,它們在迴圈結構中使用很頻...