作业帮 > 综合 > 作业

输入一个整数,将他的逆序刷出.要求定义并调用函数reverse(number).如reverse(12345)的返回值是

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/14 01:00:54
输入一个整数,将他的逆序刷出.要求定义并调用函数reverse(number).如reverse(12345)的返回值是54321.
#include "stdio.h"
int reverse(int number)
{
int res = 0;
while(number)
{
res = res * 10 + number % 10;
number /= 10;
}
return res;
}
void main()
{
int num;
printf("input a number :");
scanf("%d",&num);
printf("before reverse :%d\n",num);
printf("after reverse :%d\n",reverse(num));
}
再问: 输入12345,输出-11235
再答: 那是因为54321已经超出了int型数的范围,可以把int改为long。这样表示范围就会大一些,但也不能无节制。 int的范围是-32768~32767
再问: 改成long编程2236
再答: #include "stdio.h" long reverse(long number) { long res = 0; while(number) { res = res * 10 + number % 10; number /= 10; } return res; } void main() { long num; printf("input a number : "); scanf("%ld", &num); printf("before reverse : %ld\n", num); printf("after reverse : %ld\n", reverse(num)); }
再问: 太感谢了能帮我解释下吗?