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

各位大神老师们,我是小白,如下代码我是怎么也看不懂是怎么判断出num是几位数的?

判断一个小于十位数的数的位数:

if(num>=0&&num<=999999999){

while(num != 0){
count++;//怎么得出count就是num的位数的?
num/=10;
}//实在看不懂count和num是怎么联系上的?

求解。。。拜谢

正在回答

2 回答

cout就是个计数的,循环体内执行几次就是几位数呗,因为每次num都除10了
0 回复 有任何疑惑可以回复我~
#1

穩萣諨 提问者

非常感谢!
2016-02-02 回复 有任何疑惑可以回复我~

满足条件进循环后,num除以10,就是每次去掉一位数,同时count+1,num是int类型的,小数点后面的内容会截去,所以当num除完的时候, num就等于0了,所以 不满足循环条件了。所以num除了几次就是几位数,count的值就是位数。

2 回复 有任何疑惑可以回复我~
#1

穩萣諨 提问者

谢谢帅哥大神指导。很有点意思,貌似懂了。还有点疑问就是while循环{}大括号里面没有break,它怎么跳出循环啊?
2016-02-02 回复 有任何疑惑可以回复我~
#2

維命 回复 穩萣諨 提问者

num最后肯定是等于0的,所以肯定会跳出循环啊
2016-02-02 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

各位大神老师们,我是小白,如下代码我是怎么也看不懂是怎么判断出num是几位数的?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信