最近在做CCF的题,然后又如下代码让我很奇怪
string t;
while(cin>>t){
……}
这个段代码在自己的IDE上输入就会存在一个问题,不论输入什么,字符串t都能顺利读入,cin>>t无法成为false也就是无法退出循环。但是放在OJ上测试却可以成功的结束,得到了满分。
原因如下:
输入结束需要让cin>>t变成false,如果在自己的电脑上windows需要在输入数据结束后再输入一个Ctrl+Z(EOF字符)来告诉输入结束。而再OJ上并不是通过键盘输入实现的,而是通过读入数据文件实现的,而且OJ平台默认再数据后加上EOF字符,所以这段代码再自己电脑上需要自己输入EOF结束,而OJ上却会自动结束,顺利通过。