【发布时间】:2022-06-17 23:55:12
【问题描述】:
#include<stdio.h>
int reverse(int );
int main()
{
int num,rem,r;
printf("Enter a number:");
scanf("%d",&num);
r=reverse(num);
r=reverse(num);
return 0;
}
int reverse(int num)
{
int rem,rev=0;
while(num>=0)
{
rem=num%10;
rev=rev*10+rem;
num=num/10;
}
return rev;
}
它没有显示任何错误,输入数字后程序保持静止,既不显示任何输出也不终止
【问题讨论】:
-
如果您在
reverse()函数中的while循环内放置printf("%d\n", num);,您就会清楚答案。num永远不会低于 0,因此 while 循环的条件始终为真。
标签: c function output runtime-error terminate