#include <stdio.h>
#include <string.h>
#define M 20
int main()
{
char str[M] = {'\0'};
//p指针指向字符串首位
char *p = str;
char *q = p;
printf("请输入字符串\n");
gets(str);
//q指针指向字符串最后一位
q = q + strlen(q) - 1;
//将q指向的字符串和p指向的字符串交换
while( p < q )
{
char Temp = '\0';
Temp = *p;
*p = *q;
*q = Temp;
p++;
q--;
}
//再打印输出字符串
printf("reverse_str = %s\n",str);
return 0;
}
算法思想:定义两个指针p,q。 p指向字符串第一个字符,q指向字符串最后一个字符,p++向后遍历,q--向前遍历。将*p和*q的值进行交换,打印输出字符串。
有不懂的小伙伴私下评论,我会在第一时间回复