c語言while迴圈裡使用scanf獲取鍵盤輸入執行循

時間 2021-07-01 01:14:21

1樓:

你的問題並未說清楚。在你這個迴圈裡,不能放在12行後面。因為while(sec>0)中要判斷sec是否大於0,如果放在12行後面那麼sec被後面的語句改變以了的話,就有問題了。

另外,因為while前有一句scanf("%d",&sec);,12行後面再scanf("%d",&sec);的話不是兩個語句重複了?若去掉while前的scanf("%d",&sec);,那麼第一次進入while(sec>0)時sec還沒有賦值,則要出錯。所以這段**的結構決定了scanf("%d",&sec);放在while迴圈的最後是合理的。

放在什麼地方是**結構決定的,並不是while中的scanf("%d",&sec);一定要放在最後……

2樓:匿名使用者

肯定啊 ,scanf是會中斷你的程式的,他獲取不了輸入就一直卡在那裡,知道接收的輸入,才能繼續執行放12行上來就卡住了,迴圈裡邊的先不執行,放18行先執行迴圈裡邊的然後再卡住知道你輸入它才再一次進入下一個迴圈。

3樓:小雯傻豬

區別是:

因為你第10行也有一個scanf,所以如果放在12行,則你需要輸入第二次,然後後面的min值是根據第二次的值進行計算的,

放在第18行,則是根據第一次輸入的值進行計算的

c語言——迴圈裡面的第二個scanf不會執行怎麼辦?

4樓:林大師

printf("請問還需要繼續輸入

成績嗎?繼續請輸入'y',退出請輸入除'y'以外的任何字元專:);

getchar( );

scanf("%c",&a);

因為上面輸入分數時打屬了個回車 用個getchar()吸收回車;不然回車會被scanf用了

望採納。

c語言while迴圈用法,c語言while的用法

c語言中while的用法解析如下 1表示true,在bool型別取值false和true,0為false,非0為true 例如 1和2都是true 程式中,這裡1就表示永真,直到迴圈體內遇到break。bool表示布林型變數,也就是邏輯型變數的定義符,以英國數學家 布林代數的奠基人喬治 布林 geo...

c語言中for迴圈和while迴圈的最主要區別是什麼

後山蘭才唱 while語句的一般形式如下 while 表示式 語句 表示式為非0值,執行while中內嵌語句。它是先判斷表示式,在根據表示式值,執行語句。do while語句的一般形式如下 do迴圈體語句 while 表示式 它的特點是先執行迴圈體語句,然後判斷迴圈條件是否成立,不成立就退出,成立就...

c語言中while和dowhile迴圈的主要區別是

問明 1 迴圈結構的表示式不同 while迴圈結構的表示式為 while 表示式 迴圈體 do while迴圈結構表示式為 do 迴圈體 while 條件表達 2 執行末尾迴圈體的順序不同 while迴圈的末尾迴圈體也是在中間迴圈體裡,並在中間迴圈體中執行,迴圈體是否繼續執行的條件也在迴圈體中。do...