1樓:淦海瑤
你沒有搞明白迴圈的執行順序
一般迴圈要有四部分組成
初始化變數,判斷迴圈條件,執行迴圈體,改變迴圈條件這四個部分都不可缺少,不過他出現的位置可能在不同的地方就for迴圈來說
for(初始化部分;判斷迴圈條件;改變迴圈條件)迴圈體(可能是一句話,也可能是好多,但是多個要用{}這個括起來)這幾個部分可能都有,可以都沒有,也可以由任意的幾項(是出現的位置)初始化可以不再for中中,但是一定在上文中初始化判斷迴圈條件和改變迴圈條件可以沒有。要是沒有在這裡出現,呢麼一定會在迴圈體中體現出來的,要不然會是死迴圈
執行順序是先初始化變數,這只有在第一次迴圈是執行,後面的迴圈就不用了接著判斷迴圈條件,要是這個表示式是非零,那麼就執行迴圈體,否則退出迴圈,要是沒有,那麼在迴圈體中會有判斷跳出迴圈的語句,這個事一定的
最後改變迴圈條件。他是執行完迴圈體後執行的,可以放在迴圈體的最後一句上,這裡就可以不出現了。也可以在迴圈體的某個部位改變迴圈條件,都是可以的。
改變迴圈條件後是第二次迴圈,接著是判斷(初始化就不再執行了)根據這個思路,你應該可以理解了吧
2樓:匿名使用者
for(i=1;i<=5;i++)的執行順序如下:
首先i=1,i<=5成立,進入迴圈體,執行一次迴圈語句,然後i++操作,此時i=2
i<=5仍然成立,進入迴圈體,繼續執行迴圈語句,然後i++操作,此時i=3,i<=5仍然成立,進入迴圈體,執行迴圈語句,然後i++操作,此時i=4,i<=5仍然成立,執行迴圈語句,然後i++操作,此時i=5,i<=5仍然成立,執行迴圈語句,然後i++操作,i=6,判斷i<=5不成立,結束迴圈。
因此,i=1,2,3,4,5的時候都滿足條件,總共執行五次迴圈。
最重要的一點是i=1的時候會執行一次迴圈,然後才是i++,並不是你想的,i=1執行迴圈之前先i++操作。
3樓:深度糾纏
因為for語句執行順序,先是i=1,再判斷是否滿足中間式子的條件i<=5,如果滿足就執行迴圈語句sum+=i,執行完迴圈語句再執行i++,然後再判斷是否滿足中間式子的條件i<=5....依此類推,因此這個for迴圈執行的結果是1+2+3+4+5
4樓:匿名使用者
建議你編以下一斷小**除錯一下
include
int main(void)
這樣你就搞清楚++i與i++的區別了
另外,for(;;)裡面的三個語句執行順序你還沒有搞清楚,先熟悉一下控制結構吧,把for語句改成while或do...whlie試試,應該怎麼改,程式又是怎麼執行的
5樓:
for()語句中,i = 1相當於初始化i,可以寫迴圈外面的,執行過程是,先執行兩分號中間語句,再執行第二個分號後的語句。
6樓:善良的
i++是先運算i,就是sum為1,然後在++,和++i,有一點點區別
c語言初學著 提問 怎樣用for迴圈語句求1到10的和啊?
7樓:匿名使用者
看了幾個回答都有小錯,有的只算0加到9,有的條件語句書寫不規範、有錯誤、還有的列印語句沒寫對。
#include
void main()
8樓:匿名使用者
# include
int main (void)
9樓:匿名使用者
回答的網友都不錯。很遺憾的,沒有一個程式是有註釋的。雖然這個程式很簡單,但是程式設計風格是很重要的。
10樓:記住回憶
#include
int main(void)
11樓:匿名使用者
int i,sum;
for(i = 0; i<11;i++)
12樓:匿名使用者
#include
void main()
c語言關於for語句的基礎問題
13樓:坑坑死一巴
你的c**,申請了一個 大小為11的整型陣列,然後為a[1]~a[10]賦值,接著對a[1]~a[10]排序,最後輸出結果。
**中從頭到尾都只有一個i變數,所以每次在執行for迴圈的時候,i都是從1開始自增的。
14樓:匿名使用者
程式裡面的i都用於for迴圈,所以i值從1到10之間。
15樓:匿名使用者
從頭到尾都只有一個i啊,哪來的每個i。最終的值是10唄
c語言初學者:為什麼這個for迴圈會是死迴圈?
16樓:匿名使用者
for(m=1;m這一句錯誤,應該是
for(m=1;m
17樓:雪之伊呂裡
你的%d是純數字 數字的多少算是完?數字是無窮大的,你的m=1,m<=n一直成立,不就是死迴圈了。小於一個無窮的數當然死循了。
個人見解,不喜勿噴,喜歡望採納,碼字不易。
18樓:老猴子不會胖
並沒有死迴圈啊 哥 可能你n取值太大
c語言for迴圈詳細講解
19樓:半季流年
一般情況下for迴圈裡包含3條語句,第一句是為迴圈變數賦初始值值,第二句是迴圈條件,第三句是給迴圈變數重新賦值,例如:
for(i=0;i 這個迴圈的迴圈變數是i,i的初始值是0,迴圈條件是i 20樓:匿名使用者 for(i=0;i<10;i++) printf("%d",i); 21樓:阿四哥 c語言的陣列概念的學習,通過for迴圈輸出列印陣列 c語言for迴圈問題 22樓: 按你的理解,內層for中的i<=n-1就不多餘了?i=2符合繼續迴圈條件,下一次i=3,就是退出迴圈的條件,如果i到不了3,內層迴圈怎麼退出?所以i=3就是內層迴圈的最後一次取值,在這個值上,內層迴圈體是不被執行而直接跳出到最後一個}後面的! 23樓: #include void main() if(n == i)//這個語句應該在上面那個大括號裡面}printf("\n素數的個數是\n", num); }我想這肯定不是你想要的結果吧,具體看我給你的註釋吧! 最後說一下,**格式很重要。 24樓:起個名好費勁 for(;;) {}會執行{}內的語句 如果沒有{}預設執行for(;;)後面的一句所以即使第一個if不成立也不會去執行第二個if 而是繼續執行for迴圈,望採納 srand unsigned time null 返回的是 自1970年1月1日00 00 00以來,到呼叫函式的時刻所累積的秒數。比如說你第一次執行的時候,返回的是1000秒,然後你再次執行的時候,返回的是1001秒。1000 999 跟 1001 999 都等於1。結果一樣。原因是為什麼呢?因為... 第一次回答可獲 來2分,答案被採納可源獲bai得懸賞分和額外20分獎勵。du 答案是肯zhi定的可以,無論是表示式,還是dao初始條件,或是增量部分的變數,都要保證先定義後引用,如果未賦值,會按照c語言規定得到一個數值 auto 自動變數在賦值之前,它的值是不確定的 也就是說在引用的時候會得到一個隨... 1 for是c語言中的一個關鍵字,主要用來控制迴圈語句的執行。2 舉例說明for語句的使用方法 int i for i 0 i 3 i i 0是初始化部分 i 3是迴圈判斷條件部分 當滿足此條件時才進入執行for迴圈中的語句 i 是執行完迴圈體語句後的操作 上面的for語句就是控制輸出3次hello...關於初學C語言的問題,關於初學C語言的一個問題
C語言for迴圈語句變數問題,請問在c語言中for迴圈語句表示式1中能否定義變數?如果可以它的作用域又是什麼?
c語言for語句中的條件問題c語言中for語句是怎麼用的