为了账号安全,请及时绑定邮箱和手机立即绑定

求助。 结果为什么不是3?

求助。 结果为什么不是3?

C++
qq_就此别过_0 2015-09-22 13:27:39
#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条经验 获得超0个赞

输出结果应该是1,为什么呢?

首先,do-while会先执行后判断,这样代码先执行,使num的值变成1,之后由于判断条件为false,所以结束循环,输出的结果就是1了。如果你想输出3,那么,while里面的条件可以改为score!=0,要知道,只有当while里面的值为真时,才会继续循环。。。你错在没有搞懂while里面的条件对于循环的影响,其实while-do和do-while都是一样的判断条件,只是一个是先判断后执行,一个是先执行后判断

查看完整回答
反对 回复 2015-09-22
?
思君满月

TA贡献82条经验 获得超36个赞

应该是4吧

查看完整回答
反对 回复 2015-09-22
  • 2 回答
  • 0 关注
  • 1412 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信