下列给定程序中,函数proc()的功能是:删除字符串str中所有空白字符(包括Tab字符、Enter符及换行符)。输入字符串时以“#”结束输入。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也

admin2012-12-25  25

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

选项

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

解析 删除空格后的字符串放在数组c中,完成字符的复制后,要为新的字符串c添加结束符。因此,“c[t]="\0";”应改为“c[t]=’\0’;”。
转载请注明原文地址:https://jikaoti.com/ti/JakiFFFM
0

相关试题推荐
最新回复(0)