哪些代码更好?
do {
fread( ... );
if(!feof(fp)) { ... }
}
while(!feof(fp));
或
while(1){
fread( ... );
if(!feof(fp)) { ... }
else break;
}
感谢。
答案 0 :(得分:2)
都不是。你最好将eof测试作为循环条件的一部分(在顶部)。
你可以这样做:
while (!feof(fp)) {
fread(...);
}
由于fread
返回读取的对象数,可以也应该这样做:
while (fread(...) != 0) {
}
答案 1 :(得分:1)
while
循环更好,因为do while
执行相同的操作,但它正在调用feof()
函数两次。
答案 2 :(得分:0)
哪个更好?
没有人比另一个更好。这两者之间的唯一区别是第一个迭代至少一次。