C语言之如何看出指针移动了
void()load{FILE*fp;inti;if((fp=fopen("stu_dat","rb"))==NULL){printf("cannotopenfile\n...
void()load
{FILE*fp;
int i;
if ((fp=fopen("stu_dat","rb"))==NULL)
{printf("cannot open file \n");return;}
for(i=0;i<SIZE;i++)
if (fread(&stud[i],sizeof(struct student_type),1,fp)!1)
{if (feof(of)) {fclose(fp);return;}
printf("file read error \n");
}
fclose(fp);
}其中if (feof(of)) {fclose(fp);return;}执行时指针是如何移动的???
还有return 有什么用啊??? 展开
{FILE*fp;
int i;
if ((fp=fopen("stu_dat","rb"))==NULL)
{printf("cannot open file \n");return;}
for(i=0;i<SIZE;i++)
if (fread(&stud[i],sizeof(struct student_type),1,fp)!1)
{if (feof(of)) {fclose(fp);return;}
printf("file read error \n");
}
fclose(fp);
}其中if (feof(of)) {fclose(fp);return;}执行时指针是如何移动的???
还有return 有什么用啊??? 展开
2个回答
展开全部
代码中:判断fread的返回值 如果不等于1(猜的,你的程序这儿有错误)
然后执行判断(你的of我不知道从那儿来的)这次我也猜不出来啦
不过程序的用意应该是判断是否是遇到文件结束符啦
如果是 关闭文件,然后return
关于指针如何移动,说实话,我没看懂这句话。如果你说文件读写的时候,指针移动还可以理解,关闭文件就在释放文件指针啦。
一旦return 程序就执行结束啦。你看你的代码中只要文件操作一旦出错,就return。因为再执行下去都是在浪费时间,结果肯定还是错。
由于你的函数声明是void类型 所以return 空
然后执行判断(你的of我不知道从那儿来的)这次我也猜不出来啦
不过程序的用意应该是判断是否是遇到文件结束符啦
如果是 关闭文件,然后return
关于指针如何移动,说实话,我没看懂这句话。如果你说文件读写的时候,指针移动还可以理解,关闭文件就在释放文件指针啦。
一旦return 程序就执行结束啦。你看你的代码中只要文件操作一旦出错,就return。因为再执行下去都是在浪费时间,结果肯定还是错。
由于你的函数声明是void类型 所以return 空
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询