用c语言编写函数,判断一个字符串是否是回文(要求用指针完成)。在主函数中输入一个字符串,调用自定义函数,输出结果。所谓回文是指顺读和倒读都一样的字符串,如“XZYKYZX”是回文。
时间: 2024-02-24 10:55:55 浏览: 129
C语言判断回文字符串代码.rar
5星 · 资源好评率100%
好的,这是用 C 语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
int is_palindrome(char *str);
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
if (is_palindrome(str)) {
printf("是回文字符串\n");
} else {
printf("不是回文字符串\n");
}
return 0;
}
int is_palindrome(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
if (*(str + i) != *(str + len - i - 1)) {
return 0;
}
}
return 1;
}
```
我们用 `is_palindrome` 函数来判断一个字符串是否是回文。该函数接受一个指向字符串首字符的指针作为参数。在函数内部,我们先计算字符串的长度,然后从字符串的两端开始遍历,如果发现不对称的字符,就说明这个字符串不是回文,返回 0;如果遍历完整个字符串都没有发现不对称的字符,就说明这个字符串是回文,返回 1。
在 `main` 函数中,我们先输入一个字符串,然后调用 `is_palindrome` 函数判断该字符串是否是回文,根据函数返回值输出结果。
注意,我们在 `scanf` 函数中使用了 `%s` 格式符来读入一个字符串,这个字符串不需要加取地址符 `&`。在 C 语言中,数组名本身就是一个指向数组首元素的指针,因此可以直接传入。
阅读全文