我在c编程中进入了这个简单的程序,该程序只是通过用户使用while循环来反转任何输入数字,我不知道是否可以发布这样的问题,但我并没有真正了解while循环是如何工作的
int n, reverse = 0;
printf("Enter a number to reverse\n");
scanf("%d",&n);
while (n != 0)
{
reverse = reverse * 10;
reverse = reverse + n%10;
n = n/10;
}
printf("Reverse of entered number is = %d\n", reverse);
如果有人能向我解释,我会非常感激
答案 0 :(得分:0)
while(condition is true)
{
// Do stuff.
// Normally, but not always, the "stuff" we're doing is something that modifies
// the condition we're checking.
}
因此,只要n
的内容不等于0
,您就会继续执行循环。如果在0
中输入scanf()
,则会完全跳过循环。
在循环的每次迭代中,你使用整数除法的属性使n
的值减小10倍。即:
n = 541
n = n / 10 = 541/10 = 54
n = n / 10 = 54/10 = 5
n = n / 10 = 5/10 = 0
因此n
最终将为0并且循环将退出。