#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char str1[150]={'\0'};
char str2[50]={'\0'};
char result[150]={'\0'};
int m=0;
gets(str1);
int j=0;
for(int i=strlen(str1)-1;i>=0;i--)
{
if(str1[i]==' ')
{
for(int k=strlen(str2)-1;k>=0;k--)
{
putchar(str2[k]);
}
//printf("%d",strlen(str2));
int num=strlen(str2);
for(int k=0;k<num;k++)//这里改成strlen(str2)就错误了,错误的原因在于strlen是每一次算a[0]到a[i]!='\0'的长度,而我这里又刚刚好是str2[k]='\0',所以就出现了问题
{
str2[k]='\0';
}
//不该相关联的地方就拆开
putchar(' ');
j=0;
continue;
}
str2[j]=str1[i];
j++;
}
puts(str2);
return 0;
}
单词倒排(C语言源代码)
最新推荐文章于 2024-02-29 11:21:01 发布