写一个判断字符串是否为回文的函数,并且通过函数参数获取字符串的中间字符 c语言
时间: 2023-11-22 08:54:04 浏览: 179
031 判断字符串是否回文 C语言
5星 · 资源好评率100%
以下是一个判断字符串是否为回文的函数,并且通过函数参数获取字符串的中间字符的C语言代码实现:
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char str[], char *midChar) {
int len = strlen(str);
int i, j;
*midChar = '\0';
for (i = 0, j = len - 1; i < j; i++, j--) {
if (str[i] != str[j]) {
return 0;
}
}
if (len % 2 == 1) {
*midChar = str[len / 2];
}
return 1;
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
char midChar;
int result = isPalindrome(str, &midChar);
if (result == 1) {
printf("是回文字符串,中间字符为:%c\n", midChar);
} else {
printf("不是回文字符串\n");
}
return 0;
}
```
该函数的参数为一个字符串和一个 char 类型指针,用于获取字符串的中间字符。函数先计算字符串的长度,然后利用双指针法判断字符串是否为回文,如果是回文字符串且字符串长度为奇数,就把中间字符赋值给中间字符指针,最后返回判断结果。在主函数中,先读入一个字符串,然后调用 isPalindrome 函数判断该字符串是否为回文字符串,并且获取中间字符,最后输出结果。
阅读全文