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

admin2021-04-28  35

问题 请编写一个函数,函数的功能是删除字符串中的所有空格。
    例如,主函数中输入"asd af aa z67",则输出为"asdafaaz67"。
    注意:部分源程序在文件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);
  printf("***str:%s\n",str);
  NONO();
}
void NONO()
{
/*请在此函数内打开文件,输入调试数据,调用fun函数,输出数据,关闭文件。  */
  char str[81];
  int n=0;
  FTLE*rt,*wf;
  rf=fopen("in.dat","r");
  wf=fopen("out.dat","w");
  while(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/1dz0FFFM
0

最新回复(0)