我必须检查一个数字是否是回文或不使用递归..我正在使用以下函数但我很困惑,因为每当我使用while 循环代替if语句时,都会生成无限循环!
为什么while循环不能正常工作?
我的代码是:
#include<stdio.h>
int Check_Pal(int);
int main()
{
int i,sum,n;
printf("enter no");
scanf("%d",&n);
sum=Check_Pal(n);
if(sum==n)
{
printf("palindrome");
}
else
{
printf("not a palindrome");
}
return 0;
}
int Check_Pal(int k)
{
int r;
static int sum=0;
while(k!=0)//if i use an if its fine but while loop does not work
{
r=k%10;
sum = sum*10+r;
Check_Pal(k/10);
}
return sum;
}