请编写一个函数,函数的功能是删除字符串中的所有空格。 例如,主函数中输入"asd af aa z67",则输出为"asdaflaaz67"。 注意:部分源程序在文件PROGl.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数f

admin2013-03-29  29

问题 请编写一个函数,函数的功能是删除字符串中的所有空格。
    例如,主函数中输入"asd af aa z67",则输出为"asdaflaaz67"。
  注意:部分源程序在文件PROGl.C中。
  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
void fun(char *str)
{
}
main()
{
  char str[81];void NONO();
  printf("Input a string:");
  gets(str);
  puts(str);
  fun(str);
  printtf("***str:%s\n",str);
  NONO();
}
void NONO()
{
/*请在此函数内打开文件,输入调试数据,
调用fun函数,输出数据,关闭文件。  */
  char str[81];
  int n=0;
  FILE*rf,*wf;
  rf=fopen("in.dat","r");
  wf=fopen("out.clat","w");
  whi1e(n<10){
    fgets(str,80,rf);
    fun(str);
    fprintf(wf,"%s",str);
    n++  ;
  }
  fclose(rf);
  fclose(wf),
}

选项

答案char*p=str; int i=0; while(*p){ if(*p !=’’)str[i++]=*p; p++, } str[i]=0;

解析 (1)首先,设置一个指针变量指向字符串的头位置,并使用循环,依次查找字符串中的空格。
    (2)若字符是空格,则将后面位置的第一个非空格字符移动到当前位置,并将其后的字符也依次前移。
转载请注明原文地址:https://jikaoti.com/ti/fIn0FFFM
0

最新回复(0)