利用指针编制程序。判断输入的字符串是否为对称字符串(回文)。用c语言实现
时间: 2023-06-26 13:08:12 浏览: 259
可以利用指针和字符数组来实现这个功能。具体步骤如下:
1. 定义一个字符数组来存储输入的字符串。
2. 定义两个指针,一个指向字符数组的起始位置,另一个指向字符数组的末尾位置。
3. 用循环比较两个指针所指向的字符是否相等,如果相等则继续比较,直到两个指针相遇或者发现不相等的字符。
4. 如果两个指针相遇,则说明输入的字符串是对称字符串(回文),否则不是。
下面是代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int len = strlen(str);
char *p = str; // 指向字符串的起始位置
char *q = str + len - 1; // 指向字符串的末尾位置
while (p < q) {
if (*p != *q) {
printf("该字符串不是对称字符串(回文)。\n");
return 0;
}
p++;
q--;
}
printf("该字符串是对称字符串(回文)。\n");
return 0;
}
```
在输入一个字符串之后,程序会依次比较该字符串的第一个字符和最后一个字符、第二个字符和倒数第二个字符,以此类推,直到两个指针相遇或者发现不相等的字符。如果两个指针相遇,则说明输入的字符串是对称字符串(回文),否则不是。
阅读全文