Ⅰ c語言的自增自減問題
計算:從右往左,並輸出到「緩沖區」。
1、緩沖區是一堆棧
2、第一步:處理後面的「i--」。8進入緩沖區,i=7。緩沖區:8 <-(指針)
第二步:處理「i++」。7進入緩沖區,i=8。緩沖區:7 8<-
第三步:處理」--i「。8進入緩沖區,i=7.緩沖區:8 7 8
第四步:處理「++i」 先自增1,然後8進入緩沖區,i=8 .緩沖區: 8 8 7 8
3、輸出緩沖區數據(棧規則):8 8 7 8
另外自增 、自減 、還可能和編譯器有關系 。
(1)c語言出現自增減的變數擴展閱讀:
後綴表達式 2級
postfix-expression [ expression ],數組下標運算。
postfix-expression ( argument-expression-list),函數調用,括弧內的參數可選。
postfix-expression . identifier,成員訪問,
postfix-expression -> identifier,成員訪問,->號之前應為指針。
postfix-expression ++,後綴自增
postfix-expression --,後綴自減
( type-name ) { initializer-list }
( type-name ) { initializer-list , } 復合初始化,C99後新增。
Ⅱ C語言後置自增什麼時候自增(自減)
C語言中,後置自增(自減)是在執行完所在語句後,變數的值再自增(自減)。
舉例說明如下:
intnum=0,s=0;
while(num++<3)
{
s=s+num;
}
//第1次執行while時,num=0,第1次執行完while後,num=1,此時,s=0+1=1
//第2次執行while時,num=1,第2次執行完while後,num=2,此時,s=1+2=3
//第3次執行while時,num=2,第3次執行完while後,num=3,此時,s=3+3=6
//第4次執行while時,由於num=4>3,所以推出循環,最後s=6
Ⅲ C語言自增自減
在表達式里,像題目這種++,--。在變數前面就是先自增自減再取變數值。在變數後面先取變數值再自增自減。
比如:j=i++;意思就是先取i的值賦值給j,以後i再自增。後面代碼也是這個意思。你可用這個思路跟著代碼走一遍。