1樓:匿名使用者
這裡,先進行y = y-1,然後判斷的條件就是 y != 0,也就是說,判斷y自減1之後是否為0,不為0則為true,否則為false。
等價於while(y)
希望可以解決你的疑問~~
2樓:
while(--y);
這個是先做y=y-1
然後判斷表示式是
y!=0
是先減再判斷的
while(y--);
這個-- 在後面,是先判斷y!=0再--
3樓:草雪林
while(--y)的意思是,因為你之前已經設了y=10,所以依次判斷while(9)、while(8)、while(7)、while(6)、while(5)、while(4)、while(3)、while(2)、while(1)、while(0),只要括號裡面的數字不為0,則表示判斷條件為真,則while下面的迴圈體都會執行,while(0)表示判斷條件為假,不執行迴圈體。
你的這個句子就相當於:
int y=9;
while(y>0)
/*這裡寫成y=9,是因為--y是先將y-1然後再取y的值*/在c中,不為0的字母或者數字都表示真,即1,為0就表示假。
while(!y)在c語言中什麼意思
4樓:不
while()是迴圈語句,當括號內的值為1時,執行迴圈語句,為0時,不執行迴圈語句。
「!」是取反的意思。
所以,while(!y)的意思就是,當y=0時,取反後 !y=1,故執行迴圈語句,當y=1時,取反後 !y=0,故不執行迴圈語句
5樓:
while迴圈的判斷語句,當!y=0時,跳出while迴圈;當!y=1是,執行while迴圈內的語句;
6樓:修者世界
當y=0時執行迴圈,當y!=0時退出迴圈。
7樓:一朵兔
好hiqu
:還是mzdd
8樓:日出日落三十天
當y為0時為真,不為0為假
c語言中一段程式怎麼理解 ???
9樓:匿名使用者
int y=10;//定義y=10
while(y--); //如果這裡有分號,那就是空迴圈,直到y=0時,退出迴圈,但還要再執行一次y-1
printf("y=%d\n」,y); //這樣就是顯示成y=-1
10樓:匿名使用者
按照語句規範來復執行就行制了一共有3句:
1、int y=10; //定義y為bai整形du且賦值為102、while(y--); //注意while後面直接跟zhi著分號,這是個空語句,dao當y的值為真(非0 即為真)的時候,一直空語句迴圈,然後y每次迴圈自減1。
這個語句等價於
while(y != 0)
y= y -1;
y = y -1;
3、printf("y=%d\n」,y); //列印輸出y
11樓:匿名使用者
int y=10;宣告了一復個制整形變數
while(y--);這是乙個while迴圈bai,當y的值du變成0的時候迴圈就會結束。
zhi(我感覺後邊一句是不是應dao該是while迴圈裡邊的內容,不知道樓主有沒有輸入錯誤)
printf("y=%d\n」,y); 這句就是列印出y的值輸出格式是:y=y的具體值
12樓:匿名使用者
whlie(y--)這句後面應該沒有分號
縮排之後是這樣的
int y=10;
while(y--)
printf("y=%d\n」,y);
利用while迴圈以此輸出了從9到0的數字y初始版值是10, 第一次權進入while(10), 然後y--,之後y=9,接著輸出了9
第二次進入while(9),然後y--, y=8,接著輸出8依次類推,當while(0)的時候終止
int y=10; do{y--}while(--y)printf("%d\n,y--)中各個y--是什麼意思
13樓:朱智語
您的格式非常不規範,少了很多分號和問號
y-- 是先試用,再減少
--y 是先減少,再使用
int y=10;
dowhile(--y /* 先將y的值減少一,再判斷是否為0(跳出迴圈) */);
/*迴圈前: 10
迴圈體內 --> while 判斷前 --> while 判斷時10 -> 9 9 -> 8 88 -> 7 7 -> 6 66 -> 5 5 -> 4 44 -> 3 3 -> 2 22 -> 1 1 -> 0 0 --> 退出迴圈
*/printf("%d\n",y--); // 先輸出 y ,然後再將值 -1
/* 等價於
printf("%d\n",y);
y -= 1;*/
14樓:匿名使用者
--y是先給y減去1,然後再判斷
y--是選判斷然後再給y減去1
15樓:宇林雲
就是:y=y-1的意思,迴圈一次,y-1,然後輸出y
16樓:我是醜九怪
y--相當於y-1 自減1
在c語言中,三大語句if,while,do while的區別與共同之處有哪些?
17樓:匿名使用者
共通之處在於都會進行條件判斷。
區別如下:
if語句是判斷語句,只執行一次,
例如 :
if(a>0) b=1;
當a為正數時,才執行b=1;
若a不是正數,那麼b=1;就不會執行到。
之後if語句就結束了,只判斷一次a>0這個條件
while是迴圈語句,反覆執行直到其迴圈條件不滿足為止。
例如:while(a>0)
當a為正數時,就執行b=b+1;a=a-1;
之後會繼續回到a>0這個條件的判斷,如果a還是正數,就再次執行b=b+1;a=a-1;
如此不斷重複地判斷a>0這個條件,直到這個條件不成立為止,迴圈才結束。
如果一開始a就不是正數,那麼b=b+1;a=a-1;就一次都不會執行到。
do while也是迴圈語句,反覆執行直到其迴圈條件不滿足為止。
跟while語句的區別在於,do while會先執行一次迴圈體裡的語句。
例如:do
while(a>0);
一開始就先執行一次b=b+1;a=a-1;
之後才去判斷a>0這個條件,成立的話就再次執行b=b+1;a=a-1;
如此不斷重複地判斷a>0這個條件,直到這個條件不成立為止,迴圈才結束。如果一開始a就不是正數,那麼b=b+1;a=a-1;還是能被執行一次。
c++,while(y--==1)這一判斷語句會改變y的值嗎?是如何進行判斷的?
18樓:gta小雞
會。先判斷y==1結果,然後將y自減1。接著根據結果判斷要不要執行迴圈。注意y自減發生在迴圈體內容之前,哪怕迴圈不會執行,y也會自減1。題目中會經常考到這一點。
19樓:張未來
會的。他的執行順序是:
判斷y和1是否相等。
y自減1.
每次執行while都是這連個步驟。
20樓:匿名使用者
會。y每次迴圈後減一
求c語言的執行結果 main( ) { int y=10; do(y- -;)while(- -y
21樓:土土土方方
答案是0,y=0時退出迴圈,因為是y--,所以先輸出再減。
22樓:噬血之神
你這沒法執行,格式錯一大堆,有題目麼
23樓:匿名使用者
#include
int main()
while(--y);
printf("y--的值為:%d\n",y--);
return 0;}
24樓:免簽支付
一堆語法錯誤。do while語句不是那麼用的。
25樓:誰為誰巔沛流離
do()?這是什麼語句?
C語言中的while與for,c語言中while的用法
如果編譯器有優化處理,這兩個與無條件的goto標號做的迴圈沒有區別 label goto label 等效的,c語言轉成彙編 在c51中常見,keil uvision4中除錯程式,就能對比的看到彙編 和c51 的對比,其它c的我不知道有沒有中間生成彙編碼,但單步除錯,看到機器碼時也是有反彙編出來的 ...
c語言for迴圈語句,c語言中for語句是怎麼用的
當m 1的時候 就進入第二個迴圈 此時的m經過 後就等於2 當第二個迴圈的n累加到k的時候,就跳出第二個迴圈 返回第乙個迴圈這時m 2,進入第二個迴圈n又重0開始,當n累加到k的時候又會返回到第乙個迴圈的了 一直如此迴圈下去 直到m也累加到k的時候整個迴圈都會推出的了 a為啥要從0開始,那就只有從這...
c語言中,語句printfx,o,
x是轉換為十六進位制,o是轉換為八進位制 十進位製數16對應的十六進位製數是10 十進位製數12對應的八進位製數是14 因此輸出結果為10,14 o,x分別是輸出8進製,16進製制輸出對應的值!x 1 o 14 寫出語句 printf d,o,x 0x12,12,012 的輸出結果 d是十進位制的輸...