c语言编写函数判断一个字符串是否为回文运用指针并判断输入字符串是否为回文不使用bool使用intn(()
时间: 2024-12-19 08:20:36 浏览: 8
在 C 语言中,可以使用指针来编写一个函数判断一个字符串是否是回文。回文是指正读反读都一样的字符串,例如 "madam" 和 "level"。不使用布尔类型 bool,我们可以返回一个整数值来表示结果,比如如果字符串是回文则返回 0 表示成功,非回文则返回非零值。
以下是一个简单的示例函数,它接收一个指向字符数组的指针,长度作为第二个参数:
```c
#include <stdio.h>
#include <string.h>
int is_palindrome(char *str, int len) {
char *start = str;
char *end = str + len - 1; // 指向字符串末尾
while (start < end) { // 当开始指针小于结束指针时继续比较
if (*start != *end) { // 如果对应位置的字符不相等
return 1; // 返回非零值,表示不是回文
}
start++; // 移动开始指针向前
end--; // 移动结束指针向后
}
return 0; // 所有字符都匹配,是回文,返回0
}
// 测试函数
int main() {
char str[] = "madam";
int result = is_palindrome(str, strlen(str));
if (result == 0)
printf("%s 是回文\n", str);
else
printf("%s 不是回文\n", str);
return 0;
}
```
阅读全文