#include int ws(int n){int a=1;while(n/=10)a++;return a;}void main( ){int n;printf("please input a integer\n");scanf("%d",&n);printf("它的位数是%d\n",ws(n));}while(n/=10)是什么意思啊
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/02 02:15:21
![#include int ws(int n){int a=1;while(n/=10)a++;return a;}void main( ){int n;printf(](/uploads/image/z/2616046-70-6.jpg?t=%23include+int+ws%28int+n%29%7Bint+a%3D1%3Bwhile%28n%2F%3D10%29a%2B%2B%3Breturn+a%3B%7Dvoid+main%28+%29%7Bint+n%3Bprintf%28%22please+input+a+integer%5Cn%22%29%3Bscanf%28%22%25d%22%2C%26n%29%3Bprintf%28%22%E5%AE%83%E7%9A%84%E4%BD%8D%E6%95%B0%E6%98%AF%25d%5Cn%22%2Cws%28n%29%29%3B%7Dwhile%28n%2F%3D10%29%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%E5%95%8A)
#include int ws(int n){int a=1;while(n/=10)a++;return a;}void main( ){int n;printf("please input a integer\n");scanf("%d",&n);printf("它的位数是%d\n",ws(n));}while(n/=10)是什么意思啊
#include
int ws(int n)
{
int a=1;
while(n/=10)
a++;
return a;
}
void main( )
{
int n;
printf("please input a integer\n");
scanf("%d",&n);
printf("它的位数是%d\n",ws(n));
}
while(n/=10)是什么意思啊
#include int ws(int n){int a=1;while(n/=10)a++;return a;}void main( ){int n;printf("please input a integer\n");scanf("%d",&n);printf("它的位数是%d\n",ws(n));}while(n/=10)是什么意思啊
n/=10 就是 n = n/10 也就是 把 n 除 10 的值 赋值给 n.
由于n和10都是整形,所以/是整除,即舍去了余数,如 100/10 = 10,101/10 = 10 (余数1舍去了),99 / 10 = 9 (余数9舍去了),10/10 = 1,9/10 = 0 (余数9舍去了).
你的程序中是判断一个整数有多少位,比如 1234.
第1次 循环开始 n/10后 n = 123,循环结束 a=2
第2次 循环开始 n/10后 n = 12,循环结束 a=3
第3次 循环开始 n/10后 n = 1,循环结束 a=4
第4次 循环开始 n/10后 n = 0,终止循环(因为非0值,执行循环,0终止循环)
所以结果1234是一个4位数