简单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