while(cin>>n)与while(scanf(“%d“,&n)!=EOF)

您所在的位置:网站首页 船怎么计算速度 while(cin>>n)与while(scanf(“%d“,&n)!=EOF)

while(cin>>n)与while(scanf(“%d“,&n)!=EOF)

2024-06-03 20:58| 来源: 网络整理| 查看: 265

我们知道scanf函数是C语言里面的,其返回值是,被输入函数成功赋值的变量个数。针对于int counts = scanf("%d",&n);来说如果赋值成功那么其返回值为1,即counts的值也是1。例如下面这个例子:

int c,b; int counts = scanf("%d %d", &c, &b); cout n)来说,cin是C++的输入流对象,">>"是重载的运算符,cin>>的返回值是cin对象。如istream & operator >> (istream &is, char a[]);下面可以看一个例子:

int _tmain(int argc, _TCHAR* argv[]) { int len = 1; char a[3]; while (cin >> a || cin >> len) { cout len)改成while (cin >> a >> len),执行结果如下: 在这里插入图片描述

相信这个结果大家就好理解了。

下面对cin再做一下介绍,当我们从键盘输入一串字符

输入(cin)缓冲是行缓冲。当从键盘上输入一串字符并按回车后,这些字符会首先被送到输入缓冲区中存储。每当按下回车键后,cin 就会检测输入缓冲区中是否有了可读的数据,这种情况下cin对键盘上是否有作为流结束标志CTRL+Z或者CTRL+D,其检查的方式有两种:阻塞式以及非阻塞式。

阻塞式检查方式指的是只有在回车键按下之后才对此前是否有 Ctrl+Z 组合键按下进行检查,非阻塞式样指的是按下 Ctrl+D 之后立即响应的方式。如果在按 Ctrl+D 之前已经从键盘输入了字符,则 Ctrl+D的作用就相当于回车,即把这些字符送到输入缓冲区供读取使用,此时Ctrl+D不再起流结束符的作用。如果按 Ctrl+D 之前没有任何键盘输入,则 Ctrl+D 就是流结束的信号。 阻塞式的方式有一个特点:只有按下回车之后才有可能检测在此之前是否有Ctrl+Z按下。

1 int _tmain(int argc, _TCHAR* argv[]) 2 { 3 char a[3]; 4 5 while (cin >> a) 6 { 7 cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3