下列给定程序中,函数fun()的功能是:删除字符串s中所有空白字符(包括Tab字符、回车符及换行符)。输入字符串时用’#’结束输入。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.

admin2013-06-12  33

问题 下列给定程序中,函数fun()的功能是:删除字符串s中所有空白字符(包括Tab字符、回车符及换行符)。输入字符串时用’#’结束输入。
   请改正程序中的错误,使它能得出正确的结果。
   注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.
   试题程序:
   #include <string.h>
   #include <stdio.h>
    #include <ctype.h>
   fun(char *p)
   {  int !i, t; char c[80];
     for(i=0,t=0;p;i++)
        if(!isspace(*(p+i))) c[t++]=p;
   /**********************************/
     c[t]=’\0’;
    strcpy(p,c);
   }
   main()
   {char c,s[80];
   int i=0;
   printf("Input a string:  ");
   c=getchar();
   while(c!=’#’)
       ( s=c;i++;c=getchar();}
   s="\0";
   fun(s);
   puts(s);
  }

选项

答案错误:c[t]="\0", 正确:c[t]=’\0’

解析 注意,该程序的if条件中应用了isspace函数,该函数的功能是检查ch是否空格、跳格符(制表符)或换行符。
转载请注明原文地址:https://jikaoti.com/ti/EVn0FFFM
0

最新回复(0)