EOF在C++中的定义为:const int EOF = -1

来自CSDN

scanf和cin判断EOF

1.while(scanf("%d",&n)!=EOF)

scanf返回正确读取的个数,失败返回-1。而EOF=-1

while(!cin.eof())

{

cin.getline(s,sizeof(s));

}

或者while(cin>>x)

在cin>>c和cin.getline混用的时候要在cin>>c后加一个cin.get()把回车取走再用getline。反之也是。