帮我解释一下 这个C++

来源:百度知道 编辑:UC知道 时间:2024/06/30 22:15:10
main()
{ int n, r ;
printf("input a integer: ");
scanf("%d",&n);
while(n!=0)
{ r=n%10;
printf("%d",r);
n=n/10;
}
printf("\n");
}

每个步骤都解释一下

谢谢

楼主没分啊
这是一个C程序。。。
main函数里面
第一行:声明二个整型变量
第二行:屏幕输出input a integer
第三行:输入一个数存到n中
第四行:while 循环 n==0结束
第五行:n 对10取模结果并将给r;
第六行:输出r的值
第七行:n除以10 结果又赋给n(截掉个位数,ex:25->2)

程序应该是实现倒序输出功能吧。。ex:12345 ->54321

以 45678 为例

从键盘得到45678后,n=45678,因为n!=0,所以进入循环
第一次时,r=45678%10 = 8,输出8,然后n /= 10,此时n=4567,因为4567不等于0,所以继续循环,第二次时r=4567%10=7,输出7,然后n /= 10,此时n=456,又继续循环,输出6,然后n=45,,,,,最后一次时,n=4,此时r=4,输出4,然后n /= 10,此时n = 0,然后判断条件 因为n == 0,所以不能继续循环,下一步,输出换行,程序结束

main()
{ int n, r ;
printf("input a integer: ");
scanf("%d",&n); //输入一个int值到n中.
while(n!=0)
{
r=n%10; //取余数;
n=n/10; //函数是将这个int值逆序输出.输入12345,输出:54321
}
printf("\n");
}

main()
{ int n, r ;
printf("input a integer: ");
scanf("%d",&n);
while(n!=0)
{ r=n%10;
printf("%d",r);
n=n/10;