这个程序printf("%d", num % 10); num /= 10; 和它后面一段 代表的意义是什么啊 想不清楚。||-。-||

原问题:这个程序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)就是输出这个十进制数字转化成字符型的表达式呢。
    最佳答案由网友    提供
  • 公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
    8

    分享到:

    其他回答

    其它网友回答:
    /除法运算,%取余数  整数情况下无限循环 每次输出用字符分隔

      推荐