#include<iostream>using namespace std;int main(){ int num=0; int score=999; if(score>=0&&score<=999999999) { do { score/=10; num++; }while(score==0); } cout<<num<<endl; return 0;}
2 回答
已采納

小雨魚
TA貢獻1條經(jīng)驗 獲得超0個贊
輸出結(jié)果應(yīng)該是1,為什么呢?
首先,do-while會先執(zhí)行后判斷,這樣代碼先執(zhí)行,使num的值變成1,之后由于判斷條件為false,所以結(jié)束循環(huán),輸出的結(jié)果就是1了。如果你想輸出3,那么,while里面的條件可以改為score!=0,要知道,只有當(dāng)while里面的值為真時,才會繼續(xù)循環(huán)。。。你錯在沒有搞懂while里面的條件對于循環(huán)的影響,其實while-do和do-while都是一樣的判斷條件,只是一個是先判斷后執(zhí)行,一個是先執(zhí)行后判斷
- 2 回答
- 0 關(guān)注
- 1461 瀏覽
添加回答
舉報
0/150
提交
取消