1樓:2023年3月
答案是0 但是是因為while 括號從9減到0後 (因為while後面有;)再輸出y=0,然後又把y-1
2樓:
輸出:0
do while迴圈的終止條件就是while後面的語句的值為false,具體到本題就是--y為0,因為--y是先--在計算表示式的值,所以此時y=0,因此printf的時候就是輸出0,需要提醒的是y--是先算表示式的值在--的
3樓:瓊頭浪子
main()
//這一句做完,y=9
while(--y);//這一句做完,y=8printf("%d\n",y--);}所以過程如下;
y--之後:y=9;
--y:y=8
y--:y=7
--y:y=6
y--:y=5
--y:y=4
y--:y=3
--y:y=2
y--:y=1
--y:y=0
迴圈停止
然後輸出:0
之後,y的值變為-1
4樓:匿名使用者
main()
while(--y);//因為之前y的值被減1 現在是9而當它執行到下一行列印命令的時候它的值變成了8
printf("%d\n",y--);//此時輸出的值為8,而y的實際值變成7
}注 :y-- 是先進資料運算後將原值減1 而--y是先將原值減1後再進行資料的運算
輸出結果應為86
42當y為0的時候while語句的判斷應該為假,這時候迴圈終止6年沒用c語言了,有點手生.....
執行以下程式後輸出的結果是( )。 main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); }
5樓:匿名使用者
y最終值為-1
y--是先抄作運
bai算然後減變
du量值
--y是先減變數值然後再作運算zhi
printf("%d\n",y--);運算到這裡時,y是的dao值為0,由於是先算後減,所以在輸出y值後,再作減1運算,就成了-1
如果 y的初始值是不是偶的話,那就是死迴圈了.
void main() { int x=4,y; y=(++x)+(++x); printf("%d",y); } y的值為什麼是12?不是11嗎
6樓:匿名使用者
這個問題主要與運算子的優先順序有關的,我debug了一下。
所以說應該是兩個括號先執行了,然後x的值變成了6。然後又執行了x+x最後的出的結果是12.
7樓:創新源於需求
y=(++x)+(++x); //++ 在加運算之前執行,++x在4的基礎上+1變為5,再次++執行變為6,
8樓:沃然網路
存在一個優先順序問題 , ++x的優先順序高於 +先進行+1後進行使用 兩次全部加完以後才進行使用,即x=6後才進行相加
等於12
main() {int y=10; while(y--);printf("y=%d\n",y); }為什麼答案是-1啊
9樓:匿名使用者
while(y--);等價於while(y--!=0);
最後有分號,因此一直執行while迴圈,直到y=0為止,退出迴圈,執行後面的printf語句。
從y=10開始,依次對y的值進行判斷,只要不等於0,就y自減1,繼續執行while迴圈。
一直到y=0,不滿足迴圈條件,退出迴圈,執行y--,y自減1,變成-1
因此最後輸出y=-1
本題的關鍵是注意while(y--);最後有分號,因此一直執行while迴圈,直到不滿足迴圈條件,才退出while迴圈,執行後面的printf語句。
10樓:有錢買不起房子
y--是先取y值,然後在減一
當y--為0時,while(0)是假,所以迴圈退出,此時y自身在減一變成-1.
ghostwin10和windows10哪個好
ghost win10和windows10各有各的好處。ghost並不是沒有優點,它的優點是安裝速度快,經過一些優化處理,要比安裝版的流暢些。比較好用的系統有 玉公尺系統,不但穩定,也很流暢。原版映象檔案當然是好,但是安裝比較順利的還是ghost win10。因為別人早已幫助你處理了安裝過程中的一些...
c語言中輸出格式問題10f10f10什麼意思
1.0f是格式符 讓資料輸出的為單精度型 其中1.0是指定資料寬度和小數字數的 你這個1.0就是讓資料在輸出是只佔一列 小數為0位 這種格式符的模式為 m.nf 表示輸出的資料佔m列 小數字佔n列 不夠位數的用空格補齊 這樣做可以使輸出多組資料時能夠對齊排列 1 1.0f表示 列印1位有效數字 若超...
哪些名人是1月10日的生日呀10月10日生日有哪些名人
1月10日出生名人 1929年 丁丁,比利時畫家埃爾熱創作的知名漫畫丁丁歷險記的主人公。1976年 版 劉國梁,原中國乒權乓球隊運動員,現中國桌球隊男隊主教練。乒壇名將,大滿貫得主。在職業生涯中曾創造奧運會歷史上桌球男子選手奪取金牌數量的世界紀錄 後被孔令輝追平 1987年 薛小四誕生,網路寫手 1...