编程思想:利用指针先把整个字符串反转,之后再将得到的字符串中每个单词反转,代码如下:
#include <stdio.h>
#include <string.h>
//反转函数,将p指向字符串的头,q指向字符串的尾的字符串中的每个字符进行反转
int reversal(char *p, char *q)
{
char tmp;
if(p == NULL || q == NULL)
return -1;
while((p != q) && (p < q))
{
tmp = *p;
*p = *q;
*q = tmp;
p++;
q--;
}
return 0;
}
int main(void)
{
char str[] = "This is hello world";
char *p = str,*q = str;
char *pstr_end;
pstr_end = str + strlen(str) - 1;
//1,全部反转一次
reversal(p, pstr_end);
//2,每个单词部分反转
for(;q != pstr_end