gets(str) 在读取成功的时候返回str,str保存的是成功读入的内容在失败的时候返回NULL,str的内容保持不变所以不能和EOF进行判断。
char *p;while(1){p=gets(str);if(p==NULL) break;......}
?