这个程序printf("%d", num % 10); num /= 10; 和它后面一段 代表的意义是什么啊 想不清楚。||-。-||
分类:编程开发 > 最后更新时间:【2017-04-03 18:03:13】
#include <stdio.h>
int main(void)
{
int num;
do {
printf("请输入一个非负整数: ");
scanf("%d", &num); 。
if (num < 0)
puts("\a请不要输入负数");
} while (num < 0);
printf("这个整数反向显示: ");
do {
printf("%d", num % 10);
num /= 10;
} while (num);
puts("");
return 0;
}
补充:最好能详细点 初学对一些概念不是很清楚,谢谢了最佳答案
首先printf("%d", num % 10)诗=是输出一个num模10的结果,模就是求余数,如30%4=2
下面的/=是一种赋值运算符,num /= 10相当于num=num/10.
还有最后的do while循环是num不为0的情况下循环输出num模10再除以10(do while是一种循环,该循环至少循环1次)
最后输出一个字符串(这里明显有误因为“”中间没有任何字符)
追问:
谢谢 ,主要是我键盘输入一个整数 他显示的还是整数,那%10/10的意义是什么呢 。主要是想问这个。 追答:
这个就是程序的功能,将该数方向输出%10是对该数取余数,就是一个数整数除以另一个整数后的余数/10就是除以10有不懂的再问谢谢 追答:
这是结果(我稍稍改进了一下) 追答:
就是这样了,反向输出
追问:
对于这个概念我是不是能理解成计算机将123取于10余数为3,123除以10为12,再将两个数结合起来得到了数字123,然后后面的while(num)就是输出这个十进制数字转化成字符型的表达式呢。
其他回答
其它网友回答:
/除法运算,%取余数 整数情况下无限循环 每次输出用字符分隔