帮我解决下一道C语言题吧?

来源:百度知道 编辑:UC知道 时间:2024/05/25 07:54:17
#include<stdio.h>
void fun(char *a,char *p)
{

}
main( )
{char s[81],*t;
printf("Enter a string:\n");gets(s);
t=s;
while(*t)t++;
t--;
while(*t=='*')t--;
fun(s,t);
printf("The string after deleted:\n");puts(s);
NONO( );
}
NONO( )
{FILE *in,*out;
int i;char s[81],*t;
in=fopen("k:\\k01\\24010001\\in.dat","r");
out=fopen("k:\\k01\\24010001\\out.dat","w");
for(i=0;i<10;i++)
{fscanf(in,"%s",s);
t=s;
while(*t)t++;
t--;
while(*t=='*')t--;
fun(s,t);
fprintf(out,"%s\n",s);
}
请编写函数fun,它的功能是除了尾部的*号之外,将字符串中的其他*号全部删除。形参p已经指向字符串中最后的一个字母,不得使用C语言提供的字符串函数。
例如,字符串中的内容为****A*BC*DEF*G******,删除后,字符串中的内容应当是ABCDEFG******

要求:请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
上面的fun

void fun(char *a,char *p)
{
char *i,*j;
i = j =a;
while(j != p){
if(*j!='*'){
*i = *j;
i++;
}
j++;
}
while(*j){
*i++ = *j++;
}
*i = '\0';
}

你main函数和NONO函数就有问题。
1.NONO函数未声明:c语言如果在定义该函数之前有调用此函数,必须在调用之前先声明。在main函数前一行添加语句:void NONO(void);
2.main函数没有返回值:main函数 你必须给一个类型声明,如果不需要返回值就声明为void main(void)。
fun函数内部你的思路是对的

我没看你的代码,指看了下报的错误信息,你的NONO函数最后应该少了个 "}"

还有:你的编码规范太有问题了。建议养成好的编码习惯。
函数不但又定义,之前最后有生命。NONO(){ ... } 函数这样定义编译器默认为是 int NONO() {...}