C语言指针实现回文字符串判断
下面是用指针方法设计的一个C语言程序,可以判断用户从键盘输入的字符串是否是回文字符串:
#include <stdio.h>
#include <string.h>
int isPalindrome(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 (isPalindrome(str)) {
printf("是回文字符串\n");
} else {
printf("不是回文字符串\n");
}
return 0;
}
在这个程序中,我们首先定义了一个 isPalindrome 函数,用于判断字符串是否是回文字符串。这个函数接受一个指向字符数组的指针作为参数。
在 main 函数中,我们首先声明一个长度为100的字符数组 str,用于存储用户从键盘输入的字符串。
然后,我们通过 scanf 函数从键盘读取用户输入的字符串,并将其存储在 str 数组中。
最后,我们调用 isPalindrome 函数判断 str 是否是回文字符串,并根据判断结果输出相应的提示信息。
请注意,这个程序只是简单地判断了字符串是否是回文字符串,没有考虑空格、标点符号等非字母字符。如果需要更严格的回文字符串判断,可能需要对输入的字符串进行一些预处理。
原文地址: https://www.cveoy.top/t/topic/O04 著作权归作者所有。请勿转载和采集!