单词倒排(C语言源代码)

    xiaoxiao2022-07-14  158

    #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; }

    最新回复(0)