fgets()遇到文件结尾,然后函数返回一个空指针(在C语言中,返回宏定义NULL更常见)
如果一切正常,fgets()会返回与传入的第一个参数相同的地址
例:
#include<stdio.h>
#define NUMBER 10
int main(void)
{
char coco[NUMBER];
int i;
puts("Enter:");
while(fgets(coco,NUMBER,stdin)!=NULL&&coco[0]!='\n')
{
i = 0;
while(coco[i]!='\n'&&coco[i]!='\0') //Ditto
i++;
if (coco[i]=='\n')
coco[i] = '\0';
else if(coco[i] =='\0')
while(getchar()!='\n')
continue;
puts(coco);
}
puts("Done!");
return 0;
}
在程序中,fgets()遇到文件结尾和错误的时候,返回一个空指针,在代码中也可以用数字0来代替
所以在判断语句中,也可以直接fgets()来当作判断的条件,因为一旦返回的是一个空指针,在代码中也会作为否(0)来对待。在C语言中,这一点应该被加以利用