回文编号 - 编译器既不编译代码也不显示任何错误

时间:2018-01-25 16:38:10

标签: c

任何人都可以帮我这个c程序。我正在尝试执行这个回文检查代码,但是在输入number后它没有被执行。是否有任何错误?

#include<stdio.h>
int main()
{
    int num,rev=0,r,temp;
    printf("enter the number: ");
    scanf("%d",&num);

    temp=num;
    while(num>0)
    {
        r=num%10;
        rev=(rev*10)+r;
        temp=temp/10;
    }
    if(num==rev)
    {
        printf("the number is palindrome %d: ",temp);
    }
    else
    {
        printf("%d is not a palindrome",temp);
    }

    return 0;
}

该块没有显示任何内容,也没有停止执行。我在代码块和一些在线网站上尝试过它。

2 个答案:

答案 0 :(得分:2)

我相信你在这里有一个无限循环,因为num在循环中没有变化,所以num>0的结果永远不会改变:

 while(num>0)
    {
        r=num%10;
        rev=(rev*10)+r;
        temp=temp/10;
    }

答案 1 :(得分:0)

#include<stdio.h>
int main(){
int num,r,sum=0,temp;

printf("Enter a number: ");
scanf("%d",&num);

temp=num;
while(num){
     r=num%10;
     num=num/10;
     sum=sum*10+r;
}
if(temp==sum)
     printf("%d is a palindrome",temp);
else
     printf("%d is not a palindrome",temp);

return 0;
}

我仍然没有得到这个问题,但它的工作完美。 rewritten code.

code working