我只想说求解释这段代码,可以编译但是没有结果
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
int
hash(char *s)
{
int i, h;
h = 1;
for(i=0; s[i] && isalpha(s[i]); i++)
h = ((s[i]-'A'+1)*h) % 47;
return h;
}
void
main(void)
{
FILE *in, *out;
char comet[100], group[100]; /* bigger than necessary, room for newline */
in = fopen("ride.in", "r");
out = fopen("ride.out", "w");
fgets(comet, sizeof comet, in);
fgets(group, sizeof group, in);
if(hash(comet) == hash(group))
fprintf(out, "GO\n");
else
fprintf(out, "STAY\n");
exit (0);
}
这是编译出来的结果
[解决办法]
应该是文件没有正确打开.遇到错误,直接退出的结果.
[解决办法]
你把文件,改成你要的名字,比如你上面fopen 里面的名字,然后加到相应的工程文件夹下面就可以了.
[解决办法]
in = fopen("ride.in", "r");
改为
in = fopen("ride.in", "r");if (NULL==in) {printf("Can not open file ride.in!\n");exit(1);}