终止的诀窍就是:ctrl+z
,ctrl+z
,ctrl+z
!!!
在VS2013中输入如下C++代码:功能是统计用户输入的字符个数
#include<iostream>
using namespace std;
int main(){
char ch;
unsigned num=0;
cout << "请输入一段文本:" << endl;
while (cin >> ch){
++num;//统计字符个数
}
cout << "您输入的字符个数是:" << num << endl;
system("pause");
return 0;
}
(1)运行,输入abcde
共5个字符后,回车,再输入ctrl+z
,回车,得到结果如下:
请输入一段文本:
abcde
^Z
您输入的字符个数是:5
请按任意键继续. . .
既然程序都写好了,就多测试几个例子吧,以增进理解:
(2)再次运行,输入abcde
共5个字符后,不回车,直接紧接着e输入ctrl+z
,回车后,光标闪烁,仍没有成功退出while循环,此时,再次输入ctrl+z
,回车,得到结果如下:
请输入一段文本:
abcde^Z
^Z
您输入的字符个数是:6
请按任意键继续. . .
此时字符数是6,比上例多1,说明ctrl+z
被当做了一个字符计算入内。么有统计回车符。
(3)测试一下如果这段文本中包含了空格的情况:
请输入一段文本:
abc e
^Z
您输入的字符个数是:4
请按任意键继续. . .
可见,空格并没有被计算在内。
既然英文的都试过了,那就输入中文看看:
(4)再次运行,输入“我想吃汉堡”共5个汉字后,回车,再输入ctrl+z
,回车,得到结果如下:
请输入一段文本:
我想吃汉堡
^Z
您输入的字符个数是:10
请按任意键继续. . .
5个汉字统计出的字符个数是10,可见博大精深的中国汉字确实是占两个字符!(骄傲脸)