用c语言编写函数,判断一个字符串是否是回文(要求用指针完成)。在主函数中输入一个字符串,调用自定义函数,输出结果。所谓回文是指顺读和倒读都一样的字符串,如“XZYKYZX”是回文 以下是用指针完成的判断回文函数的代码:不使用string。h
时间: 2024-03-07 16:48:10 浏览: 97
好的,下面是用指针完成的判断回文函数的代码:
```c
#include <stdio.h>
#include <string.h>
int is_palindrome(char *str)
{
int len = strlen(str);
char *start = str;
char *end = str + len - 1;
while (start <= end)
{
if (*start != *end)
return 0;
start++;
end--;
}
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` 函数接受一个指向字符串的指针 `str`,并返回一个整数值。函数内部首先获取字符串的长度,然后使用两个指针 `start` 和 `end` 分别指向字符串的头部和尾部。
接着,我们使用一个循环来不断比较 `start` 和 `end` 指向的字符,如果它们不相等,说明这个字符串不是回文,返回 0。如果循环执行完毕后都没有返回 0,那么说明这个字符串是回文,返回 1。
在主函数中,我们首先接受用户输入的字符串,然后调用 `is_palindrome` 函数来判断它是否是回文。最后根据函数返回的结果输出相应的信息。
希望这个代码能够帮助到你!
阅读全文