我通过IDE运行它,其余的值分别为3、2、0、1。 我了解剩下的第一部分,但其余部分则不了解。 另外,循环如何终止? x并非总是大于0,因此会无限期地继续吗?谢谢。
int x = 1023;
while (x > 0)
{
printf("%d", x% 10);
x = x /10;
}
答案 0 :(得分:1)
请注意,在C中,当一个除法的两个操作数都为整数类型时,该除法也具有一个整数类型,并且值是除法rounded toward zero的结果。
因此,在第一次迭代中,语句x = x /10;
将x
从1023
更改为102
(不是102.3
)。
答案 1 :(得分:0)
由于您要对整数进行除法,因此每次都会得到四舍五入的结果,
所以x的每次迭代都变成
102
10
1
每次打印x即可看到。 所以102模10是2
10 modul0 10为0
1模10为1