1樓:不不見不念
if條件語句寫錯了:
if(a=="#") 判斷字串相等不能用等號
if (strcmp(a, "#") == 0) 要這麼寫
while 是乙個迴圈體,退出迴圈體的方法有:
(1)迴圈體條件 不成立,如:while( a>0); 當 a≤0 的時候,條件 a>0不成立,while 迴圈結束,退出 while 迴圈。
(2)在迴圈體內使用無條件跳出語句(break),如 while(1)當 b>5 的時候,程式執行 break ,跳出 while 迴圈體,迴圈體被結束。
(3)在迴圈體內使用 函式返回 語句(return),如 while(1),當 c>8的時候,程式執行 return,退出函式返回到上級函式。其中返回值 *** 需要根據 函式型別進行返回。
如 int 型函式 int fun(),*** 應為 int型,空返回值函式 void fun(),*** 可以省略。
2樓:匿名使用者
if(a=="#") // 判斷字串相等不能用等號
if (strcmp(a, "#") == 0) // 要這麼寫
3樓:茫茫路遠何處去
輸入 #號 啊 。你把a變成字串接受了 所以a就不是字元了。應該scanf("%1s",&a);
4樓:一路清晨
if(a=="#")
break;
這裡不能有空行
你最好把if下面屬於這個if的語句用括號括起來如:if(a=="#")
5樓:煙火夜空
while 是乙個迴圈體,退出迴圈體的方法有:
① 迴圈體條件 不成立,如:while( a>0); 當 a≤0 的時候,條件 a>0不成立,while 迴圈結束,退出 while 迴圈。
②在迴圈體內使用無條件跳出語句(break),如 while(1)當 b>5 的時候,程式執行 break ,跳出 while 迴圈體,迴圈體被結束。
③在迴圈體內使用 函式返回 語句(return),如 while(1),當 c>8的時候,程式執行 return,退出函式返回到上級函式。其中 返回值 *** 需要根據 函式型別進行返回,如 int 型函式 int fun(),*** 應為 int型,空返回值函式 void fun(),*** 可以省略。
c語言中while的用法
6樓:楓璽
當n==1時執行while迴圈結構裡的語句,當n不等於1時,則跳過該迴圈執行迴圈體外的語句。
while 迴圈的格式:while (表示式)
while 迴圈的執行順序:當表示式為真,則執行下面的語句,語句執行完之後再判斷表示式是否為真,如果為真,再次執行下面的語句,然後再判斷表示式是否為真……就這樣一直迴圈下去,直到表示式為假,跳出迴圈。
例:int a=null;
while(a<10)
}結果: 結束後 a的值為6 。
擴充套件資料
while語句若一直滿足條件,則會不斷的重複下去。但有時,需要停止迴圈,則可以用下面的三種方式:
一、在while語句中設定條件語句,條件不滿足,則迴圈自動停止。
如:只輸出3的倍數的迴圈;可以設定範圍為:0到20。
二、在迴圈結構中加入流程控制語句,可以使使用者退出迴圈。
1、break流程控制:強制中斷該執行區內的語句,跳出該執行區,繼續執行區域外的語句。
2、continue流程控制:也是中斷迴圈內的執行操作,並且從頭開始執行。
三、利用標識來控制while語句的結束時間。
7樓:芯之度
語句a;
while(n==1);
語句b;
當n==1時,程式while(1)成立,不斷迴圈,因為後面while()後面直接是分號「;」所以這裡n==1直接就是死迴圈,
當n與等於1時,程式同樣是while(1)成立,和上面的情況一樣,所以兩個都是死迴圈。
擴充套件資料:whilewhile是計算機的一種基本迴圈模式。當滿足條件時進入迴圈,進入迴圈後,當條件不滿足時,執行完迴圈體內全部語句後再跳出(而不是立即跳出迴圈)。
while語句的一般表示式為:while(表示式)。
典型迴圈
while 《條件》
《語句體》
end while
do while 《條件》
《語句體》
loop
語法pascal
while 《條件》 do 《語句》
意為當條件符合時,接著做下面的語句;不符合時,退出迴圈。
cdo 《語句》 while(《條件》);
while(《條件》) 《語句》;
c++while(《條件》) 《語句》;
do 《語句》 while(《條件》).
8樓:打娘胎裡喜歡你
while是迴圈流程控制,while的語法格式為 :
while(condition)
//do something 2
說明:①while迴圈的表示式是迴圈進行的條件,用作迴圈條件的表示式中一般至少包括乙個能夠改變表示式的變數,這個變數稱為迴圈變數。
②當表示式的值為真(非零)時,執行迴圈體;為假(0)時,則迴圈結束。
③當迴圈體不需要實現任何功能時,可以用空語句作為迴圈體。
④對於迴圈變數的初始化應在while語句之前進行,可以通過適當方式給迴圈變數賦初值。
9樓:匿名使用者
問題:語句a;
while(n==1);
語句b;
語句c;
答:當n==1時,程式while(1)成立,不斷迴圈,因為後面while()後面直接
是分號「;」所以這裡n==1直接就是死迴圈,不執行下面的程式語句b;
當n不等於1時,程式同樣是while(0)成立,跳出迴圈。執行下面的程式語句b;語句c;
while(n==1);此處有沒有分號意義大有不同,沒有的話,以上面的例子,程式while(1)成立時,執行下面的每乙個語句b;一直迴圈執行;當n不等於1時,程式同樣是while(0)成立,跳出迴圈。執行下面的程式語句c;
10樓:佔碩瞿秀竹
一般迴圈有四個部分組成,這幾個部分都不能缺失,要不然迴圈可能完不成。不一定是在規定的地方出現,但是聯絡上下文,可以看到這幾個部分的影子
初始化、判斷迴圈條件、執行迴圈體、改變迴圈條件
如while迴圈
i=1;s=0;
//初始化變數
while(i<10)
//判斷迴圈條件
for迴圈也是這樣
for(初始化變數;判斷迴圈條件;改變迴圈條件)
迴圈體不管是for,while,do--while,goto等迴圈,他迴圈體只能管一句,也就是說遇到分號就結束,多個語句的話,用{}括起來相當於一句話
有些人不注意,在for
while等後面跟上乙個分號。我的觀點是出現這個情況的理由是每個語句都有分號結束,但是沒有注意的是有幾個情況是不能跟分號的
forif,while,還有子函式有函式體的時候,這一句都是不能有分號的
你這裡while(n==1);後面有個分號,那麼while就是空迴圈了,不做任何操作,也就是說沒有迴圈體語句
當n是1的時候是死迴圈
n不是1的時候,直接跳過這個迴圈,不做任何操作
11樓:奚緯印令慧
先說一下,前面的例子有問題,你需要注意,「while();」如果你這麼書寫的話,這一行是整個while的迴圈,下一行的語句不算迴圈體,所以如果你希望下一行的******;迴圈執行的話,while後面的分號千萬不要加。
從語義上來說,while
(條件)迴圈體;
迴圈體只是乙個語句,如果你需要執行多條語句的話,必須使用大括號括起來,相當於一條語句,這是在進行編譯時需要確認的。
c語言的語句是以分號結束的,也就是說,不管你寫多少行,只要沒有看到分號,這一句話就沒有結束。
12樓:福建省寧德市
while是迴圈流程控制,使用的標準格式為while(表示式)
說明:①while迴圈的表示式是迴圈進行的條件,用作迴圈條件的表示式中一般至少包括乙個能夠改變表示式的變數,這個變數稱為迴圈變數
②當表示式的值為真(非零)時,執行迴圈體;為假(0)時,則迴圈結束③當迴圈體不需要實現任何功能時,可以用空語句作為迴圈體④對於迴圈變數的初始化應在while語句之前進行,可以通過適當方式給迴圈變數賦初值
13樓:匿名使用者
c++中while的用法如下:
while(條件) {}
當條件為假時結束
迴圈。如while(0){}。 裡的命令不執行結束迴圈;
do {} while() 當條件為假時結束迴圈。 但d0 {} while(0) 先執行一次在結束
14樓:夜禮服假面
while (1)
是個死迴圈,會一直迴圈下去,你寫進去的時候,程式一直在迴圈中,跑不出去,當然不亮。
while (0)
等於沒寫這段**,不跑迴圈
15樓:醉染木葉
先說while((ch=getchar())!='\n'):可以把它分成
ch=getchar();while(ch!='\n').前者是呼叫getchar函式,即ch為從鍵盤鍵入的字元.
後者括號裡指:當鍵入的不是'\n'(即回車),所以迴圈結束的條件是輸入回車鍵.
然後,這是乙個小寫字母轉化成大寫的程式,
if(ch>='a'&&ch<='z') //當輸入的字元在a和z之間時
ch=ch-32; //這個字元的ascii碼減32,即實現小寫轉換為大寫.(因為乙個字母的ascii碼,小寫比大寫大32.
其他沒什麼難懂的了吧
16樓:
while((ch=getchar())!='\n')
是獲取的字元 回車符 就停止迴圈,退出程式
.這段程式的意思是獲取字元,如果獲取的字元不是回車,並且是從小寫的a到大寫的z,就是abcd...xyzabc...
xyz,就減去32,轉換為另外乙個字元,具體轉換到什麼字元查下ascii表,然後顯示出來.如果獲取的字元是回車,就是按enter鍵,就停止迴圈,退出程式
17樓:匿名使用者
n==1時,死迴圈
n!=1時,跳過迴圈語句
c語言中什麼情況下跳出while的迴圈
18樓:匿名使用者
賦值運算子也會返回乙個值的……這個值就是賦值運算子左邊的變數賦值後的值,也就是其右邊的表示式的值,只要輸入的不是字元eof,while()裡的判斷條件就是真,因此可以跳出迴圈……
19樓:匿名使用者
跳出while迴圈有以下四種可能:
bai1 while(expr)的判斷條件du為假時,自zhi動退出循
dao環。即專expr值為0。
2 while中執行到屬屬於while自身的break語句。break語句的功能就是跳出所在迴圈,所以這個可以實現強制跳出。
3 當執行到return語句。 如果執行了return語句,會退出整個函式,自然就跳出迴圈了。
4 執行goto語句,同時目標在迴圈外。如果goto語句指向的標籤在迴圈外,那麼程式會無條件執行該點,同樣也可以達到退出迴圈的效果。
c 語言while迴圈,c語言while的用法
p1 p2 這個是賦值語句,而非比較運算。字元陣列雖然有大小限制,但是指標就不同,即便超過了大小,指標指向陣列越界後的下乙個記憶體單元,並不會發生錯誤 另外,printf s a 函式列印字串,它是在遇到字串結束符的時候才終止輸出,此時a陣列的值已經被賦值為p2所指向的記憶體空間的值。這個程式是錯的...
C語言死迴圈如何退出?C語言中死迴圈怎麼解決?
在迴圈裡面加入break 這麼一句就會自動跳出迴圈了。在c語言裡,正在執行的死迴圈怎麼跳出 一般情況下,迴圈中都需要加入迴圈控制語句 當條件達到時,就會退出迴圈,例如。while 1 或for i 0 i i 如果你是說編譯器執行時今入死迴圈,關閉終端或者掐死程式程序就ok了。1 c語言中,強制終止...
C語言中,關於while迴圈的問題
include int main int argc,char argv 我在解釋一下,昨天沒說清楚。就算你只輸入了乙個a,這個時候scanf掃瞄緩衝區,發現不是整形,所以直接退出,指標仍舊指在a的位置,下次scanf呼叫的時候,指標仍舊指在a這裡,所以scanf不等待你輸入,但是a不是整數,又直接退...