判断回文数c语言程序指针用指针
时间: 2024-12-14 14:13:12 浏览: 13
判断回文数是指正序和倒序读都一样的数字,比如"12321"、"123454321"等。下面是一个使用C语言指针的简单程序,用于判断一个整数是否是回文:
```c
#include <stdio.h>
#include <stdbool.h>
bool isPalindrome(int num, int *start, int *end) {
if (*start > *end) return true; // 如果开始位置大于结束位置,直接返回true,因为此时视为回文
if (*(start+1) != *(end-1)) return false; // 比较第一个和最后一个字符,如果不同则不是回文
//递归地处理中间部分
return isPalindrome(start+1, start+2, end-1);
}
int main() {
int number = 12321;
int start = &number;
int end = start + sizeof(number)/sizeof(*start); // 获取数组的结束位置
bool result = isPalindrome(start, &start, &end);
if (result) {
printf("%d 是回文数。\n", number);
} else {
printf("%d 不是回文数。\n", number);
}
return 0;
}
```
这个程序定义了一个`isPalindrome`函数,它接受一个起始指针和结束指针作为参数,通过递归比较起始位置和结束位置对应的数值,直到两个指针相遇。
阅读全文