我正在练习一些c问题,并且我想创建一个函数来检查给定值是否是回文,而无需使用mod。 但是-我担心函数IsNumPalindrome中的溢出。
很乐意就如何使此代码更好地获得一些意见。
#include <stdio.h>
#include <stdlib.h>
/*function returns mod, divider must be different than zero */
int GetMod(int number, int divider)
{
return(number- (divider*(number/divider)));
}
/* function return 1 if palindrome 0 if not*/
int IsNumberPalindrome(int number)
{
int saveOriginal = 0;
int reminder = 0;
int reversedNum = 0;
saveOriginal = number ;
while (0 < number)
{
reminder = GetMod(number, 10);
number /= 10;
reversedNum = reversedNum * 10 + reminder;
}
return(saveOriginal == reversedNum);
}
int main()
{
int i = 0;
i= IsNumberPalindrome(154);
printf("Is pal for 154 %d\n", i);
i = IsNumberPalindrome(3003);
printf("Is pal for 3003 %d\n", i);
return 0;
}