这两个while语句各是什么意思

while(fscanf(fp, "%s%lf%lf", name, &height, &weight) != EOF)
while(fscanf(fp, "%s%lf%lf", name, &height, &weight) == 3)

第一个当把文件读取完才退出循环
第二个当有任何一个值没有读入成功时退出循环