c 的簡單問題,一個c 的簡單問題

2022-12-31 21:25:50 字數 943 閱讀 1503

1樓:匿名使用者

++i 與 i++ 的區別:

【1.】 ++i是先把 i 的自身值加1,再取i值參與運算。

【2.】 i++是先取 i 當前的值參與運算,【等到該語句結束(遇到分號)後才加1】-----特別注意。

如題:int i,j;

i=10;

i=(i++)+(i++); //先取i當前值進行賦值運算,即i=10+10=20,等語句結束後i再自增兩次,即i為22

cout<

i=10;

j=(i++)+(i++); //先取i當前值進行賦值運算 ,即j=10+10=20,等語句結束i再自加2次,i的值變為12

cout<

2樓:demon_熊

第一個22: 「++"在右邊則先進行運算再自加,即10+10賦給i,然後i自加兩次,結果輸出i為22

第二個20:開始如上題,由於物件是j,所以最後沒有兩次自加,即結果是20

第三個23:對於第一題,」++「在左邊,先自加再參與運算,即第一個」++i」後i為11,第二個「++i」後,i為12,最後11+12,結果為23

下一個同上

3樓:匿名使用者

我只知道i=20,cout<

4樓:芳草

i++是用了i的值以後再給i加1,而++i是給i加1以後再用改變後的i的值。

在i=(i++)+(i++)中,「+」運算子是自左向右結合的,先經過「+」運算後在給i的值自加兩次。

而在j=(i++)+(i++)當中,道理是一樣的,先將兩個i的值(都為10)相加後,付給j,在把i的值自加2次。

如果要檢驗其運算順序,還可以把中間的「+」變成「*」試一下。

簡單的c語言for迴圈問題,一個簡單的C語言FOR迴圈問題

j 6時確實不執行第二個迴圈了,但i 以後又會重新執行第二個for迴圈,j 1重新開始,這時n 5 printf n 就是換行的意思 你把你想要寫什麼樣的東西給我,我幫你寫一個,然後再跟你解釋為什麼這樣。當內迴圈結束時有換到外迴圈繼續執行。你int n 0的n是全域性變數,會隨時改變的。當第一次內迴...

C 簡單問題,C 簡單問題

疑問有點多,大家一起共勉學習 按程式的上下順序來看 疑問一 friend void y y x x1 此句更改為friend class y 將作用域符及其後面的函式名刪掉,即可通過編譯,但是編譯結果什麼也沒有做。疑問二 friend class y位置不對,應該放在public 的宣告裡面,否則就...

簡單c語言問題 linker ,簡單C語言問題 linker error

這種提示是連線錯誤 linker error 一般可執行程式的過程是 源 目標 經過編譯 可執行程式 經過連線 你的問題就出在最後一步。那麼為何出現這樣的問題呢?既然編譯通過,說明你的源程式沒問題。那麼連線出錯由什麼原因引起的呢?一般我們寫程式不可能每個功能自己寫,一些共用的功能 函式 被封裝在庫中...