Я практикую некоторые c вопросы, и я хотел сделать функцию, которая проверяет, является ли данное значение палиндромом или нет, без использования мода.Но я беспокоюсь о переполнении в моей функции 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;
}