编写一个C程序,该程序通过指针逆序输出一个字符串
时间: 2024-03-03 16:50:54 浏览: 68
逆序输出字符串程序
5星 · 资源好评率100%
下面是一个通过指针逆序输出字符串的 C 语言程序:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100], *p, *q;
printf("请输入一个字符串:");
gets(str);
p = str; // p指向字符串的首地址
q = str + strlen(str) - 1; // q指向字符串的末尾
while (p < q) // 交换p、q指向的字符
{
char temp = *p;
*p = *q;
*q = temp;
p++;
q--;
}
printf("逆序输出的字符串为:%s\n", str);
return 0;
}
```
该程序首先读入一个字符串,然后定义两个指针 p 和 q,分别指向字符串的首地址和末尾地址。接着,程序通过 while 循环不断交换 p、q 指向的字符,直到它们相遇为止。最后,程序输出逆序后的字符串。
需要注意的是,该程序使用了 gets 函数来读入字符串,但该函数存在缓冲区溢出的风险,建议使用 fgets 函数代替。另外,由于该程序改变了原字符串的内容,因此需要注意字符串的备份和恢复问题。
阅读全文