用c语言编写函数,判断一个字符串是否是回文(要求用指针完成)。在主函数中输入一个字符串,调用自定义函数,输出结果。所谓回文是指顺读和倒读都一样的字符串,如“XZYKYZX”是回文。
时间: 2024-02-25 15:59:13 浏览: 53
好的,我来为您解答这个问题。
以下是用 C 语言编写的代码实现:
```c
#include <stdio.h>
#include <string.h>
int is_palindrome(char *str) {
int i, j;
for (i = 0, j = strlen(str) - 1; i < j; i++, j--) {
if (str[i] != str[j]) {
return 0;
}
}
return 1;
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
if (is_palindrome(str)) {
printf("%s 是回文字符串。\n", str);
} else {
printf("%s 不是回文字符串。\n", str);
}
return 0;
}
```
在自定义函数 `is_palindrome` 中,我们使用了指针作为形参,将字符串的首地址传递给函数。在函数内部,我们使用两个指针 `i` 和 `j`,分别指向字符串的头和尾,然后从头尾向中间扫描字符串,判断对应位置上的字符是否相等,如果有不相等的,则说明该字符串不是回文,返回 0,否则说明该字符串是回文,返回 1。
在主函数 `main` 中,我们输入一个字符串,调用自定义函数 `is_palindrome`,并根据函数的返回值输出结果。
希望可以帮到您!
阅读全文