//倒置字符串
//形式:
//i like u.
//u. like i//操作方式
//i like u.
//全部逆序:.u ekil i
//分割,进行部分逆序:.u like i
#include<stdio.h>
void str_reverse(char * start,char * end)//地址
{
char tmp;//char形式
while (start < end)
{
tmp = *start;
*start = *end;
*end = tmp;//解引用
start++;
end--;
}
}
int main()
{
char input[100];
gets(input);//不能使用scanf,scanf遇到空格就结束了
str_reverse(input, input + strlen(input) - 1);//全部逆序
//分割+部分逆序
char* end = input;
while (* end)//\0的ASCII值是0
{
char * start = end;
while(*end != ' ' && *end != '\0')
{
end++;
}
str_reverse(start, end - 1);
if (*end != '\0')
end++;
}
printf("%s\n", input);
return 0;
}