c語言問題

2022-08-03 11:15:15 字數 1689 閱讀 4045

1樓:匿名使用者

for(i=0;i<=100;++i) 改為for(i=0;i<100;++i) 就是100了。

for(i=0;i<100;++i) 執行流程:

將i=0,判斷i是否滿足<=100 滿足則執行 sum+i;然後++i;判斷判斷i是否滿足<=100 滿足則執行 sum+i;這樣迴圈的。i=101不滿足條件就退出了。所以i=101;

至於i++=101 ,是你沒理解i++和++i的區別:

i++作為一個表示式,是計算玩表示式才將i+1,你輸出完i++再接著輸出i就是102了!

++i是先i+1再計算表示式的,所以輸出是102!接著輸出i還是102!

例子:i=100;

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

輸出:i=100, i++=100

i=101;++i=102

i=102

好好體會吧。 個人認為這個特性沒什麼實用價值,只是把人腦子搞亂而已。

2樓:匿名使用者

這個問題和用哪種c++編譯器沒有關係。

i++和i++的區別:

若有賦值語句 t=i++; i先把當前值賦給t,然後再自增 1

若是賦值語句 t=++i; i先自增 1 ,然後再把值賦給t

所以這兩條語句有區別

若為語句 i++;或 ++i; 程式執行完它們後 i值都自增 1 ,所以這兩條語句沒有區別,得到相同的結果。

表示式 ++i 或 i++ 執行完後的結果也是一樣的,都是自增 1;

關於++i 和 i++ 可以參考一些c++基本教材,上面一般都詳細解說了的。

確定 i 值:先假設已經迴圈到了 i=100 狀態。此時,代入迴圈條件有100<=100,

顯然是成立的,於是執行迴圈體;執行完迴圈體後,執行表示式 ++i ;完成後,i=101 ;進入下一輪迴圈,執行迴圈條件判斷 知 101<=100 顯然不成立,於是迴圈結束

此時 i=101;

3樓:帳號已登出

i<=100 的問題。for(i=0;i<=100;++i) 從0開始環境,到100等於101次。

改為for(i=0;i<=10;++i)好數點`你點一下0。1。2。。。10有多少個數先。

至於在for中用 ++i 還是 i++對流程並沒有影響。不過c++primer書上說用++i效率高點。

4樓:幸福ing男孩

for語句是先計算i的值再和迴圈條件進行對比,不管是i++還是++ii的最後一次賦值都是101,所以當你輸出i的值當然是101

5樓:

雖然i++是先運算後自增,++i是先自增在運算,當執行到i=100的時候還行進行一次求和,然後無論是i++還是++i都進行i<=100的判斷,i已經有過動作,所以

i++和++i到輸出的時當然都是101了。

6樓:匿名使用者

for迴圈中i=100時還進入到了迴圈,因為你的判斷條件是i<=100,所以進入迴圈後i自加了

7樓:匿名使用者

應該用for (i=0;i<100;i++)或for (i=1;i<=100;i++)

和i++,++i沒關係的

c語言問題,C語言問題!

prid32是個什麼?而且你的雙引號得加轉義符吧?去掉prid32前後的雙引號,另外prid32是否有定義?你的這個軟體支援c99或者c11嘛 就像vc6.0版本太老就不支援c99 看看軟體支不支援 沒有巨集定義,在標頭檔案下面加 define prid32 d c語言問題!因為s是一個指向floa...

c語言問題,c語言問題

include void main 定義f 0 1 f 1 1 for i 2 i 20 i 從2開始到19做迴圈,這裡你少打一個i f i f i 2 f i 1 例如當前i 2則f 2 f 0 f 1 2 迴圈繼續 i 3則 f 3 f 2 f 1 3 迴圈繼續.for i 0 i 20 i 從...

C語言問題,C語言問題,求助

數學水平是要的,重要的是邏輯思維!函式也是要的,沒那你就寫不出什麼好的程式!這函式又和課本上的數學函式有點不一樣!但不象數學函式那麼難,但比數學函式靈活,也有意思。可不是要所有課本的數學函式!課本數學可以不好,但是你邏輯思維一定要好,熊貓燒香知道吧,寫這程式的人只是中專畢業!英語前期是不需要的!因為...