經典i 和 i問題(附帶運算子優先順序問題)

2021-08-17 06:01:35 字數 852 閱讀 6663

1.i++和++i的區別

(1)i++簡單來說就是先用i的值來參加表示式的計算,然後再自加1

i=4;

a=i++;        //此時,先做a=i=4,再做i++,故a=4,i=5

(2)++i則是先自增1,再用自加後的值來做運算。

i=4;

a=++i;         //此時,先做++i,i=i+1=5,再做a=i=5,故a=5,i=5

2.運算子的優先順序

*典型例題1 (比較下面兩個**輸出結果的不同)

程式1:

程式2:

*典型例題2(輸出程式結果)

該程式分別輸出:

78,8

(1)首先指標ptr指向陣列arr的arr[0]=6

(2)*(ptr++)+=123,先執行*(ptr)+=123,相加結果為129,再執行自加1,此時*ptr指向arr[1]

(3)printf此時的指標ptr,即列印arr[1]的值,故為7

(4)在執行下一句printf時,因為『()』,『++』的優先順序均高於『,』所以指標ptr會先自增1,故指向arr[2]=8

i 和i 運算子優先順序

1 問題背景 測試i 和i package com.you.model author youhaidong date 2014 08 16 suppresswarnings unused public class addreduce static int x static int y public ...

運算子優先順序 i 與 i

也是在以前面試中也到過的乙個題目 var a 1,b 2,c a b 請問以下輸出什麼?alert c alert a alert b 答案是 3,2 2 那麼為什麼是這樣答案吶?其實主要是考察 運算子的操作。color blue a 與 a的區別?前者是先執行運算執行完後再在a上加1,而後者是先給...

運算子優先順序 C 運算子優先順序

c 運算子優先順序 優先順序運算子 描述方向1 scope resolution 範圍解析 left to right 2 suffix postfix increment and decrement 字首 字尾遞增和遞減 function call 函式呼叫 array subscripting ...