简单c语言问题,求解答一下疑惑~.~
程序代码: #include <stdio.h>
#include <string.h>
#define M 81
int fun(char *ss, char c)
{
int x,y=0;
for(x=0;x<M;x++)
{
if(ss[x]==c)
{
y++;
}
}
return y;
}
main()
{ char a[M], ch;
void NONO ( );
printf("\nPlease enter a string:"); gets(a);
printf("\nPlease enter a char:"); ch = getchar();
printf("\nThe number of the char is: %d\n", fun(a, ch));
NONO ( );
}
void NONO ( )
{/* 本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
int i ;
FILE *rf, *wf ;
char a[M], b[M], ch ;
rf = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
fscanf(rf, "%s", a) ;
fscanf(rf, "%s", b) ;
ch = *b ;
fprintf(wf, "%c=%d\n", ch, fun(a, ch)) ;
}
fclose(rf) ;
fclose(wf) ;
}
我将上面的fun函数里面的第一个for循环修改为for(x=0;ss[x]!='\0',x++)
两个程序都可以运行,而且运行结果一样,但是我用二级考试软件提交后,前面那个没有分值,后面那个才有分值,请问一下这是什么原因呢?
十分感激0.0






