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

admin2019-09-02  33

问题 请编写一个函数,函数的功能是删除字符串中的所有空格。例如,主函数中输入"asd afaa z67",则输出为"asdafaaz67"。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include<stdio.h>
#include<ctype.h>
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;
  FILE*rf,  *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;

解析 该程序功能是删除字符串中的所有空格。本题的解题思路是首先利用一个指向字符串的指针,查找不是空格的字符,然后将不是空格的字符赋值到字符串,如果是空格,则跳过该字符,这样就实现了空格字符的删除。
转载请注明原文地址:https://jikaoti.com/ti/osf0FFFM
0

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