請問它執行的每一步是怎麼樣的i為什麼會是2而不是

時間 2022-05-12 18:10:05

1樓:

第一步,i=2

第二步,執行 y=i-- - ++i

這裡按照按照符號優先順序可以看做y=(i--)-(++i),然後從左自右執行

首先i--,是先把i的值賦給i--,然後i自減,所以 i--等於2,然後i=1

然後++i,是i先自加,然後賦值給++i,所以++i等於2,i=2y=2-2=0

第一句輸出語句輸出i--,這裡是後自減,所以輸出的是上一步i的值2,然後i變為1

第二句輸出語句輸出++i,這裡就是先自加,1+1=2,最後輸出y的值0

2樓:匿名使用者

這個就涉及到c語言中運算子的優先順序, 可以去網上查。

優先順序從高到低是 - ++ --。

然後是i-- ++i的理解。 如果在變數右邊 (i--) 那麼就表示是先用變數 然後在運算i-- , 如果是在變數左邊(++i) ,那麼表示先算++ ,再使用變數i

那麼根據**就很清楚了

y = i-- - ++i;這一句: 根據優先順序 y = 2 - 2; 此時i的值變為3,因為根據上面描述先算了++i, y的值變為0, 算出y的值之後還有乙個i--的值需要算, 由於i已經變成3了, 再減一就是2了

再看下面的三個printf , i變為2了 ,i-- 就是先輸出i的值,然後再減1 , i變為1

第二個printf ++i , 在左邊, 先加1 ,上一句i已經是1了, 這裡先加1, 再輸出還是2

3樓:

y=i-- - ++i;               //執行完後 i=2

printf("i--=%d\n",i--);    //列印時 i=2,執行完後 i=1

printf("++i=%d\n",++i);    //列印時 i=2

4樓:匿名使用者

額....道理很簡單,因為你在上面的prinf中先做了i--的操作的,所以++i的時候i的值是1不是2

晁蓋是怎麼樣被一步步架空的呢,水滸中,晁蓋是怎麼一步步被架空的?

3全部也正是因為宋江的這個舉措,最終導致了梁山好漢死的死,傷的傷,走的走。我在接受了朝廷招安之後,宋江也是率領著梁山的好漢和方臘對抗,不得不說,朝廷的這一招還是要更加厲害一些,正所謂驅狼吞虎其實就是這個意思了。1 晁蓋立足梁山。水滸傳 第一次提及梁山是林沖火燒草料場後,柴進讓他去梁山投奔王倫。王倫嫉...

細數EDG戰隊是怎麼一步一步成為太子隊的

上週不是上場了嗎,應該不會雪藏,萊特眯的狀態也不錯,成長上限應該還沒到頂,說實話扣肉確實老了不如以前了,可能跟長期不打比賽有關係,太子隊寧願毀掉也不會放掉,太牛逼了。為什麼edg是太子隊 就是廠長每次大團,總能殘血逃脫,粉絲就戲稱 edg用不團滅。不是黑,也有說廠長是為了kda,採訪時候廠長說不說故...

請問這一步是怎麼推出來的

木木 題目中所求的極限是 型,採用洛必達法則求解,你所畫出來的部分是分子求導的結果 求導可以根據複合函式求導來做。 這個東西是怎麼推出來的?因為有一個邏輯順序喲。由第一步到第二步第三步。 亥問鮃 根據上也的情況推出來 湯博達 只看見,請問這一步是怎麼推出來的?其他的看不見。 綾波麗哥 對咱來說天文難...