#include<stdio.h>
#include<string.h>
void change(char *arr,int first ,int last)
{
int f = first;
int l = last;
char temp = 0;
/* printf("first= %d\n",f);
printf("last= %d\n",l);*/
while(1)
{
temp = arr[f];
arr[f] = arr[l];
arr[l] = temp;
if ( l <= f )
{
temp = arr[f];
arr[f] = arr[l];
arr[l] = temp;
break;
}
f++ , l--; //此处的自增会导致最后一次无法执行 所以在if中 再执行一次
}
}
void change_again(char* arr) //此处为单个单词的变换
{
int head = 0;
int head2 = 0;
int run = 0;
char *p = arr;
while (1)
{
while(1)
{
if (p[run] == ' '|| p[run] == '\0')
{
break;
}
else
{
run++;
}
}
head2 = head;
head = run;
change(arr,head2,run-1);
head++;
if (run >strlen(arr)-1)
{
break;
}
run++;
}
}
int main()
{
char arr[] = "hello china hunan changsha";
// char arr[] = "welcome to yueqian";
change(arr,0,strlen(arr)-1);
printf("%s\n",arr);
printf("-----2-------\n");
change_again(arr);
printf("%ld %s\n",strlen(arr),arr);
return 0;
}