7-32 说反话-加强版 (20分)
#include<stdio.h>
#include<string.h>
int main()
{
char a[500001];
gets(a);
int i, k, m;
int j = 0;
int len = strlen(a);
//printf("%d",len);
for (i = len-1; i >= 0; i--)
{
m = i;
if (a[i] != ' ')
j++;
else if(a[i]==' ')
{
for (k = 0; k < j; k++)
{
printf("%c", a[m+1]);
m++;
}
if(k>0)
{
printf(" ");
}
j = 0;
k = 0;
}
}
for(int h=0;h<len;h++)
{
if(a[h]!=' ')
{
printf("%c",a[h]);
}
else
break;
}
}
为什么会错啊?