C語言簡單問題C語言為什麼在開頭初始化變數和在for迴圈裡初始化變數不同呢

2021-04-28 17:33:11 字數 1165 閱讀 9752

1樓:匿名使用者

因為你的後兩個for迴圈執行了多次,j和k第一次執行各自迴圈的時候都為零沒錯,但是當第二次執行到它們迴圈時j和k 的值都為wide了,所以就不會執行迴圈體,才會導致第一種情況,望採納!

2樓:讉莣熔燃氺

比如:int x=1;

for(int i=1;i<=3;++i)這裡baix只初始du化zhi了dao一次.輸出專

屬 2 3 4

for(int i=1;i<=3;++i)這裡x初始化了三次.輸出 2 2 2

c語言for迴圈語句變數問題。

3樓:匿名使用者

第一次回答可獲

來2分,答案被採納可源獲bai得懸賞分和額外20分獎勵。du 答案是肯zhi定的可以,

無論是表示式,還是dao初始條件,或是增量部分的變數,都要保證先定義後引用,

如果未賦值,會按照c語言規定得到乙個數值:

auto:自動變數在賦值之前,它的值是不確定的;也就是說在引用的時候會得到乙個隨機數,

通常定義都是此型別,因 auto一般省略不寫。

register:暫存器變數,同自動變數;

static: 靜態變數只能使用常量或是常量表示式進行顯示初始化,編譯將他們初始化為0(對int型) 或0.0(對 float型)

幾個定義例子:

auto int a=1;

register int i,j;

static unsigned int r;

4樓:匿名使用者

可以 用兩個變數的 甚至可以是多個變數 但是 整個條件表示式 最後只能有乙個 可以確定的結果

比如 :a&&b||c>0 這樣的表示式 也是可以的

5樓:匿名使用者

從上式看是不能的因為那樣不知道b的具體知識多少,如果迴圈的話就回成了死迴圈了沒答有結束,如果在前面宣告b的值的話就可以也可以用define 如define b 2 來巨集定義b這樣在呼叫時就b的值就是2

6樓:匿名使用者

按例子中的來是可以的。不過變數b是要在前面的程式中宣告並賦過值的。。

7樓:匿名使用者

可以的,不過要小心別死迴圈了.

簡單c語言問題,求教,簡單C語言問題,求教

include include int cmp const double a,const double b void k const double open,const double close void shadow const double open,const double close,con...

簡單的C語言問題,2個簡單的C語言問題

include void main outa 100 i for i 0 i 9 i outa i 1 a i for i 0 i 10 i a i outa i for i 0 i 10 i printf d a i 第二個 include void main b i 0 c i 5 0 for ...

簡單C語言問題

從錯誤提示來看,是型別不相容。這個在c裡面是合法的,算warning,但在c 中是錯誤。用gcc可以編譯過去 root cc o 2 wall 2.c 2.c 6 警告 main 的返回型別不是 int 2.c 在函式 sort 中 2.c 23 警告 傳遞 strcmp 的第 1 個引數時將整數賦...