输入提示信息:"Input a string:" 输入字符串用gets() 输出提示信息:"Inversed results:%s\n"
参考答案
定义两个指针分别指向字符串的两端,同时向前和向后分别移动指针,边移动指针边交换指针指向的字符。
#include <stdio.h>
#include <string.h>
#define N 80
void Inverse(char *pStr);
int main()
{
char a[N];
printf("Input a string:");
gets(a);
Inverse(a);
printf("Inversed results:%s\n", a);
return 0;
}
void Inverse(char *pStr)
{
int len;
char temp;
char *pStart; //指针变量pStart指向字符串的第一个字符
char *pEnd; //指针变量pEnd指向字符串的最后一个字符
len = strlen(pStr); //求出字符串的长度
for (pStart=pStr,pEnd=pStr+len-1;pStart<pEnd;pStart++,pEnd--)
{
temp = *pStart;
*pStart = *pEnd;
*pEnd = temp;
}
}