首先说明逆序字符串和字符串逆序输出的区别:
逆序字符串:原字符串发生改变,被逆序
字符串逆序输出:原字符串不变,输出函数从字符串的尾部开始打印
#include <stdio.h>
#include <string.h>
#define MAX_SIZE 1024
#if 0
char *reserve_src(char *str)
{
int i,j;
for(i = strlen(str) - 1; i >= 0; i-- )
{
while(str[i] = ' ')
{
for(j = i + 1; j)
}
}
}
#endif
char *reserse_word(char *str,int len)
{
int i,j,k = 0;
char temp[MAX_SIZE];
for(i = strlen(str) - 1; i >= 0; i--)
{
if(str[i] == ' ')
{
for(j = i + 1; str[j] != ' ' && str[j] != '\0'; j++)
{
temp[k++] = str[j];
}
temp[k++] = ' ';
}
}
for(i = 0; str[i] != ' '; i++)
temp[k++] = str[i];
temp[k] = '\0';
return temp;
}
int main()
{
char str[MAX_SIZE];
printf("input the string:\n");
gets(str);
char *result = reserse_word(str,strlen(str));
printf("result = %s\n",result);
return 0;
}