#include <iostream>
using namespace std;
int main()
{
cout << "输入一个数:" ;
int n;
cin >> n;
cout << endl;
int a = 1;
int m;
do
{
m = n/10;
if(m>0)
a++;
}while(m>0);
cout << a << endl;
return 0;
}
如果输入一个12,m=12/10=1,则进入死循环。
没看明白设计目的。
n的值没有发生变化,所以当是多位数的时候m的值就会一直大于0,陷入死循环
当n大于10时m永远大于0,死循环了。
一看就知道这货要输出输入数字的位数…不过没实现好……
谢谢
#include <iostream>
using namespace std;
int main()
{
cout << "输入一个数:" ;
int n;
cin >> n;
cout << endl;
int a = 1;
int m;
m = n;
do
{
m/=10;
if(m>0)
a++;
}while(m>0);
cout << a << endl;
return 0;
}