这句if(q==*(*grade+i))是不是多余了?,seek函数里面出来不就是不及格的那个行了吗?还要在判断是不是一样?(语言-c语言)

img


这句if(q==grade+i))是不是多余了?,seek函数里面出来不就是不及格的那个行了吗?还要在判断是不是一样?

下面是我的理解,供参考:
这个条件是需要要的,因为在seek函数里,把他的返回值的变量pcol默认设置为指向参数prow下一行的起始,
如果当前prow行的学生成绩都及格,这个默认值就没有变,指向的是prow的下一行,然后再main函数里根据
这个判断就不需要打印这个成绩都及格了学生,而只打印成绩有一门以上不及格的学生,所以去掉这个条件,会导致所有的学生成绩都会打印。