题目要求为将 I am from ShangHai 倒序为 ShangHai from am I
#include <stdio.h>
#include <string.h>
void re(char str[], int len);
void re2(char str[]);
int main()
{
char str[50];
scanf("%s",&str);
// char str[] = "I am from ShangHai";
int len = strlen(str);
re(str,len);
printf("%s\n", str);
re2(str);
printf("%s\n", str);
return 0;
}
void re(char str[], int len)
{
int i;
for (i = 0; i < len/2; i++)
{
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i -1] = temp;
}
}
void re2(char str[])
{
int index;
int start = 0;
int len = 0;
for (index = 0; index <= strlen(str); index++)
{
if (str[index] != '_' && str[index] != '\0')
{
len++;
}
else
{
printf("start : %d len : %d\n", start, len);
re(str + start, len);
start = start + len +1;
len = 0;
}
}
}