【发布时间】:2018-02-21 13:52:01
【问题描述】:
我对 C++ 还很陌生,但在使用这个简单的代码时遇到了麻烦:
#include <iostream>
using namespace std;
int main() {
int NumberOfNonBlanks = 0;
int NumberOfUpperCase = 0;
char c;
while (cin >> c) {
++NumberOfNonBlanks;
if ((c>='A' && (c <= 'Z'))) {
++NumberOfUpperCase;
}
}
cout << "Nonblank characters : " << NumberOfNonBlanks << endl
<< "Uppercase characters : " << NumberOfUpperCase << endl;
}
我的操作系统是 Windows,Ctrl+D 似乎退出了循环(Ctrl+Z 没有做任何事情),但问题是它也结束了整个程序。因此,我在代码中的最后一行没有做任何事情......例如,如果我将输入输入为:
BLUE
然后按Ctrl+D,程序立即结束,返回值0。
任何帮助将不胜感激为什么这种情况不断发生。谢谢!
-------------编辑------
目前有人认为 ctrl + z 不表示 CLion 的 EOF(在 Windows 上运行)。在这种情况下,有人知道 CLion 的任何解决方案吗?
【问题讨论】:
-
Ctrl+Z 然后返回应该可以工作(对我有用)
-
but the problem is that it ends the whole program as well为什么不结束?在循环之后你没有做任何阻塞,是吗?