1樓:煙火夜空
如果 for 裡面 什麼也沒有,for 外面是個分號,那就相當於,條件為空(非0),迴圈內容為空,死迴圈。
2樓:聽不清啊
如果在for(;;)迴圈語句後面加了個分號,變成:
for(;;);
導致的結果是:原來的迴圈判斷照常進行,但是如果條件成立的話,它執行的是一個空語句(;),如果這時的迴圈還能正常結束的話,比如說,
int i,s;
s=0;
for(i=1;i<=100;i++);
printf("=%d",s);
那麼當迴圈結束後,本來期望的+1+2+3。。。+100=5050並沒有出現,
只是出現了+101=101。
這是因為原來的for語句僅在一行上就完成了。下面加法所在的一行與迴圈語句沒有關係了,變成了無條件執行的語句(僅執行一次)。
3樓:小政
for(;;)
; //語句為空,無限執行此語句死迴圈
4樓:萢萢
計算機會執行空迴圈。
5樓:
計算機就會一直停在for迴圈這裡,不會再往下執行了
6樓:匿名使用者
不斷迴圈,直到計算機的運算資源耗盡為止
7樓:北漂碼農
試試不就知道了,報錯唄,編譯不出來的
8樓:歲麻呱
執行你for括號裡的東西,沒實際意義,反而浪費cpu資源
9樓:
如果沒有限制條件,會一直在這裡迴圈。啥都沒有
c語言剛學,問一下小問題。for迴圈後面如果我加了個分號(for裡面都是有內容的)怎麼執行?老師說
10樓:
for迴圈正常判斷,只是滿足條件後不做任何操作,比如 for(i=1;i<10;i++); 最後i會變成10
11樓:匿名使用者
for(初始化表示式1;迴圈條件表示式2;變數增量表示式4)
for 迴圈就是按照1,2,3,4這四個步驟來的
12樓:哦米噶滴
c語言以分號分隔語句,如果沒有化括號,那麼for迴圈只執行下一段語句。
c語言中 for語句後面的括號裡有兩個分號是什麼意思啊?
13樓:lee羅亞輝
for語句後加分號就是表示執行for中的語句,不執行其他,也就是不帶迴圈體語句。
for後面跟的是迴圈體。如果不需要有迴圈體,也就是for括號裡面的三句就可以完成所有功能那麼就加個分號,表示迴圈體為空。比如 :
求字串s的長度for(len=0;s[len]; len++);這個, 單獨for裡面的三句就完成了所有功能, 不需要迴圈體, 加分號。
擴充套件資料
for迴圈是程式語言中一種迴圈語句,而迴圈語句由迴圈體及迴圈的判定條件兩部分組成,其表示式為:for(單次表示式;條件表示式;末尾迴圈體)。
for( ; ; )裡面是3個語句,兩個分號。第一個語句是開始前執行,第二個語句是判斷真假,如果真,就執行後面(大括號內)的**。第三個語句是每次執行完畢後執行的東西,通常第三個語句使用"i++"表示i=i+1的意思,用來遞增自變數i。
14樓:匿名使用者
表示這個迴圈沒有初始化,沒有條件判斷,沒有標誌變數的變化
它是一個死迴圈
這樣的迴圈其迴圈體內必須有跳出迴圈的語句,否則就沒法正常退出了
15樓:匿名使用者
你好!for(int i=0;i<100;i++) 分號主要是作分隔的效果。 意思就是說,第一個分號前面的是設定迴圈的起始大小;第一個分號與第二個分號間的是設定迴圈的最大次數;第二個分號後面的表示是遞增迴圈還是遞減迴圈。
c語言for括號後加分號什麼意思
16樓:天雲一號
for語句後加分號就是表示執行for中的語句,不執行其他,也就是不帶迴圈內體語句
int i, j=0;
for(i=0; i<5; i++) // 帶迴圈體的for迴圈括起來的就是循
容環體語句
j++;
}for(i=10; i>0; i--); // 不帶迴圈體的for迴圈
// 執行過程如下如下(也就是for後帶分號的意思)// 當i=10時,i>0成立,則i=i-1=9;之後當i=9時,i>0成立,則i=i-1=8,一直執行下去,當i<=0時跳出for迴圈
17樓:匿名使用者
正常的應該是這個
抄樣子的
for(i=0;i<10;i++)
叫迴圈體!
如果是這樣:for(i=0;i<10;i++) ;表示什麼都不做。跳出後,i的值為10。
如果沒有分號就不完整!
18樓:匿名使用者
for(i=0;i<10;i++);是完整的for迴圈,包括迴圈體,迴圈體是空語句,do nothing
for(i=0;i<10;i++)是不完整的for迴圈,沒有迴圈體
19樓:匿名使用者
for(i=0;i<10;i++);表示沒有迴圈體,空轉
for(i=0;i<10;i++) 後面接的是迴圈體,如果i<10那麼就執行此句後面的迴圈體
20樓:
for(i=0;i<10;i++);是完整的for迴圈,迴圈體是空語句,do nothing
for(i=0;i<10;i++)是不完整的for迴圈,沒有迴圈體
21樓:我欲弒神
表示這裡直接迴圈!起到延時的作用!
22樓:江小右
; 就是一個語句,不過是空語句而已
c語言中for迴圈語句 for(i=1;i<10;i++)這個一共執行幾次 我總是無法完全理解 求
23樓:匿名使用者
首先要知道for語句
的執行原理,這樣你就知道答案了:
現在以 for(i=1;i<10;i++)為例說明如下:
1.:執行到for語句時,讓i=1,但這隻執行一次。也就是說for語句中第一個分號前的語句只執行一次,就是相當於初始化
2.:判斷第二個分號前的**是否為真
如果為假則退出for語句,就不執行for語句的後面{}中的語句,當然也就不執行第二個分號後的**了
如果為真,則先執行for語句的後面{}中的語句,如果期間沒有跳出語句的**則執行第二個分號後的**,再跳回到2步進行判斷!
所以你的這個for迴圈如下執行
先 i=1
1次,此時i=1,滿足i<10 執行for語句內**,執行i++(i=2)
2次,此時i=2,滿足i<10 執行for語句內**,執行i++(i=3)
3次,此時i=3,滿足i<10 執行for語句內**,執行i++(i=4)
4次,此時i=4,滿足i<10 執行for語句內**,執行i++(i=5)
5次,此時i=5,滿足i<10 執行for語句內**,執行i++(i=6)
6次,此時i=6,滿足i<10 執行for語句內**,執行i++(i=7)
7次,此時i=7,滿足i<10 執行for語句內**,執行i++(i=8)
8次,此時i=8,滿足i<10 執行for語句內**,執行i++(i=9)
9次,此時i=9,滿足i<10 執行for語句內**,執行i++(i=10)
此時i=10,不滿足i<10 退出for語句,未執行i++(i=10)
24樓:無奈去遊戲
9次 i=1 小於10 進入迴圈 執行宣告 後i++i=2 一次完成,
返回for 判斷小於10 進入迴圈執行宣告後i++i=3 2次完成,
返回for 判斷小於10 進入迴圈執行宣告後i++i=4 3次完成,
返回for 判斷小於10 進入迴圈執行宣告後i++i=5 4次完成,
返回for 判斷小於10 進入迴圈執行宣告後i++i=6 5次完成,
返回for 判斷小於10 進入迴圈執行宣告後i++i=7 6次完成,
返回for 判斷小於10 進入迴圈執行宣告後i++i=8 7次完成,
返回for 判斷小於10 進入迴圈執行宣告後i++i=9 8次完成,
返回for 判斷小於10 進入迴圈執行宣告後i++i=10 9次完成,
大於10跳出迴圈
25樓:爭分奪秒
10次 9次判斷成功(for迴圈體中執行9次),1次判斷沒成功(for迴圈體中沒執行) 那麼 在計算機中執行了9+1判斷語句
26樓:匿名使用者
n+1次 0~n 你自己算算~
27樓:謎幻界祖
1 2 3 4 5 6 7 8 9 九次,加到10判斷退出,多看下書。
C語言小問題,C語言一個小問題
區別 一個是指向結構體變數的指標,一個是指向整形變數的指標。詳細說明如下 struct student p指向結構體變數的指標 struct 結構體名 結構體指標變數名 執行結果 int p變成了指向整形變數的指標 編譯執行 錯誤 不同的變數型別,p並不屬於整形變數類指標。 你.是不是諶衛軍老師班上...
C語言小問題,C語言一個小問題
儘量不要使用這樣的 因為不同編譯器可能會得到不同的結果。上面是逗號運算子,從右向左進行 結果 n 先使用,即輸出1,再減1 n 這時 n 0,加1,使用,即輸出1n 先使用,即輸出1,再加1 printtf 語句結束後,n 2 c語言的輸出運算是從右向左運算的,但是輸出形式是從左往右!所以先計算n ...
C語言小問題,C語言一個小問題
這個問題的關鍵在於 if k n printf n 這句話。因為只要執行了if n j 後面的複合語句。k n一定成立。k 到k n時,不滿足k 其實去掉if k n 光保留printf n 同樣能得出上面的結果。既然你不想要最後一句的 n。那不妨這樣一改就可得到你想要的 把if k n print...