规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串尾部的;*号全部删除,前面和中间的水号不动。 例如,字符串中的内容为:“******A*BC*DEF*G******”,删除后,字符串中的内容应当是:“****A*BC*DEF*G”。

admin2016-06-23  20

问题 规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串尾部的;*号全部删除,前面和中间的水号不动。
例如,字符串中的内容为:“******A*BC*DEF*G******”,删除后,字符串中的内容应当是:“****A*BC*DEF*G”。在编写函数时,不得使用C语言提供的字符串函数。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
void fun(char*a)
main()
{  char s[81];void NONO();
  prinff(“Enter a string:\n”);gets(s);
  fun(s);
  printf(“The string after deleted:\n”);puts(s);
  NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
FILE*in,* out;
int i;char s[81];
in=fopen(“in.dat”,“r”);
out=fopen(“out.dat”,“w”);
for(i=0;i<10;i++)
{
    fseanf(in,“%s”,s);
    fun(s);
    fprintf(out,“%s\n”,s);
}
felose(in);
felose(out);
}

选项

答案void fun(char*a) { while(*a!=‘\0’) a++: a一一;/*指针a指向字符串的尾部*/ while(*a==‘*’) a一一;/*指针a指向最后一个字母*/ *(a+1)=‘\0’;/*在字符串最后加上结束标志符*/ }

解析
转载请注明原文地址:https://kaotiyun.com/show/wfID777K
0

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