C 的while迴圈的問題

2021-05-06 05:11:34 字數 561 閱讀 4143

1樓:

cin其實是一個例項,可以理解為一個系統自己的變數然後cin這個例項的定義的類的一個基類過載過operator bool(),這個過載可以把例項轉換為int型別

while(cin>>a)就相當於先進行cin>>a,然後判斷cin.good()

cin的operator bool()就是返回cin.good()當輸入流結束的時候,比如說eof的時候會返回false

2樓:匿名使用者

可以的 輸入的值作判斷條件

3樓:誌剛

應該不可以。這個一般用在需要迴圈輸入的。你可以設定輸入某個值結束,假如『0』,在迴圈體內。if(a==0) break;

4樓:匿名使用者

一般while(cin>>a)這麼寫是保證正確輸入的,

假設a是整形,那麼當使用者輸入非整形的值都會結束迴圈。

至於cin的返回值,你可以試一下cout<<(cin>>a); ,看下如果輸入不匹配型別的返回值,當正常接收到輸入時,返回值為非0,當使用者輸入不正確時,返回值為0

c 語言,while迴圈問題。裡面的變數change把我搞糊塗了,它起到了什麼作用

change 是用來控制迴圈的,整個while迴圈是將當前已經輸入的n的資料全部從小到大的排序。只有每次在迴圈裡面的有發生資料的交換,change才會被值為1,如果change為0說明陣列已經有序了,你是的只需要while n 0 這樣程式也是正確的,但是會增加很多不需要的比較,比如輸入的a j 1...

c語言while迴圈程式設計輸出1到100這數的和

int i,sum i 1,sum 0 while i 100 int cou 0 int num 0 while num 100 main printf d n sum 用c語言for迴圈求1到100之和 sum sum i 這一句寫在了for迴圈的外面,意思就是先作for迴圈至i 101,最後執...

C語言while及p方法呼叫問題

正式程式和非正式程式的區別 p 執行的位置,正式程式寫明是在printf語句之後執行,註釋程式是在while判斷之後進行 本來printf要輸出的 p是while迴圈條件判斷的那個,但註釋程式在判斷後將p指標進行了增1處理,導致printf輸出的是應當輸出的後面一個數 指標越界訪問到的記憶體單元中儲...