为什么循环中的 n mod 10 不显示输出
why n mod 10 in loop doesn't show output
我已经解决了 c 中的一个基本问题,即计算整数的数字,我写了 -
#include
int main()
{
int n;
scanf("%d",&n);
int i;
while(n!=0)
{
n %= 10;
++i;
}
printf("%d",i);
}
我已经知道上面的代码是错误的,我应该写成n/=10;而不是 n%=10;但我想知道为什么它不打印 i 的偶数值,即 0.
如果我写错了请忽略,我是新来的..
如果数字n
不能被10
整除那么这个表达式的值(除法的余数)
n %= 10;
永远不会等于 0
。
另外变量i
没有初始化。
int i;
你应该写
int i = 0;
do
{
++i;
} while ( n /= 10 );
printf( "%d\n", i );
我已经解决了 c 中的一个基本问题,即计算整数的数字,我写了 -
#include
int main()
{
int n;
scanf("%d",&n);
int i;
while(n!=0)
{
n %= 10;
++i;
}
printf("%d",i);
}
我已经知道上面的代码是错误的,我应该写成n/=10;而不是 n%=10;但我想知道为什么它不打印 i 的偶数值,即 0.
如果我写错了请忽略,我是新来的..
如果数字n
不能被10
整除那么这个表达式的值(除法的余数)
n %= 10;
永远不会等于 0
。
另外变量i
没有初始化。
int i;
你应该写
int i = 0;
do
{
++i;
} while ( n /= 10 );
printf( "%d\n", i );