C语言,逆序数出,原理是啥

int i=123;
while(i!=0)
{
printf(“%d”,i%10);
i=i/10;}
最后两句什么意思,没看明白,有没有大佬解释一下原理

输出当前i的个位数
printf(“%d”,i%10);
将当前i除10
i=i/10
执行流程:
1、i=123,满足循环条件,输出i%10结果为3,并且i=i/10结果为12
2、i=12, 满足循环条件,输出i%10结果为2,并且i=i/10结果为1
3、i=1, 满足循环条件,输出i%10结果为1,并且i=i/10结果为0
4、i=0,不满足循环条件,结束循环。 所以最终输出321

输出i的个位数
每次循环i少一位

img


#include<stdio.h>

int main()
{
    int i=123;
    while(i!=0)
    {
        printf("%d  ",i%10);
        i=i/10;
    }
    return 0;
}