我刚刚在David Griffiths的书“Head First C”中看到了一段奇怪的代码,第6部分:
island* start = NULL; island* i = NULL;
island* next = NULL;
char name[80];
for(; fgets(name, 79, stdin) != NULL; i = next) {
next = create(name);
if (start == NULL)
start = next;
if (i != NULL)
i->next = next;
}
这是源代码的一部分(如果可以这样命名):https://github.com/dogriffiths/HeadFirstC/blob/master/chapter5/Page%20218/code_lots_of_progs.c
第250行。
那么,fgets和NULL之间的比较真的有用吗???
答案 0 :(得分:0)
是的,它有效。 如果存在错误或没有输入下一个单词,则fgets返回NULL。