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

admin2015-06-08  30

问题 给定程序MODll.C中函数fun的功能是:删除P所指字符串中的所有空白字符(包括制表符、回车符及换行符)。
    输入字符串时用‘#’结束输入。
    请改正程序中的错误,使它能输出正确的结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
#include
fun(char*P)   
{  int i,t;char C[80];
/**********found***********/
  For(i=0,t=0;P;i++)
    if(!iSspace(*(p+i)))  C[t++]=
P
/**********found***********/
  C[t]=“\0”;
  strcpy(p,C);
}
main()
{  char c,s[8 0];
  int i=0;
  printf(“Input a string:”);
  c=getchar();
  while(C!=‘{}’)
  {  s=c;i++; c=getchar();)
  s=‘\0’;
  fun(S);
  puts(s);
}

选项

答案(1)for(i=0,t=0 ; p[i]; i++) (2)c[t]=‘\0’;

解析 函数的功能是删除字符串s中的所有空白字符。
  (1)第一个标识下“For(j=0,t=0;p;i++)”语句是for循环语句,而For不是C语言的关键字,所示“For(i=0,t=0:p;i++)”应改为“for(i=0,t=0;p;i++)”。
    (2)第二个标识下的“c[t]=“\0”;”语句是在新生成的串后面加尾符标志,在C语言中规定使用单引号把一个字符括起来作为字符常量,所以“c[t]=“\0”;”应改为“c[t]=‘\0’;”。
转载请注明原文地址:https://jikaoti.com/ti/cjn0FFFM
0

最新回复(0)