| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 881 人关注过本帖
标题:请教一个输入命令是否可以连续输入的问题
只看楼主 加入收藏
terry64no
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2010-8-29
收藏
 问题点数:0 回复次数:6 
请教一个输入命令是否可以连续输入的问题
大家好,上一次很感谢各位前辈解答关于绘制*号图形的问题
语句如下
#include<iostream>

using std::cout;
using std::cin;
using std::endl;

int main()
{
    int a ;
    int x;
    int y;   
   
    cout << "Enter 5 nums(1-30):";
      
    for (  x = 1; x <= 5; x++ )   
    {
        cin >> a;           //不是应该每次读入一个数,然后再开始第二个for语句循环吗?为什么我连续输入5个数字,程序都可以连续读入?         
         for ( y = 1; y <= a; y++ )
        {
            cout <<'*';
            
        }
        
        cout << endl;
        
    }   
    system("pause");
    return 0;
}
现在有一个问题,是关于第一个for循环语句里面cin命令的,按照上面的嵌套语句,按原理来说,不是应该每次只能读入一个数,然后再开始第二个for语句循环吗?为什么我连续输入5个数字,程序都可以连续读入?

[ 本帖最后由 terry64no 于 2010-10-11 08:02 编辑 ]
搜索更多相关主题的帖子: 输入 命令 
2010-10-11 08:01
mxs810
Rank: 9Rank: 9Rank: 9
来 自:火星
等 级:贵宾
威 望:16
帖 子:234
专家分:1122
注 册:2006-10-19
收藏
得分:0 
把你的操作截屏发过来看看,没太看明白你说的意思,连续输入五个数字不也是一个数吗?

授人以鱼不如授人以渔
2010-10-11 09:56
tornador
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:34
专家分:118
注 册:2010-10-4
收藏
得分:0 
编译器是这样做的:你输入了五个数,并不是将这五个数一次性一下地全部输入,而是按照你的程序,遇到输入语句时,读取一个。你可以这样理解,程序在运行时,你已经把要输入的值全部告诉给了编译器,编译器要做的,就是遇到要输入时,从你刚才输入的读取一个就是了。这样也可以也为节省时间。当然,如果你想一个输入后回车一下也可以。
希望对你有所帮助。
2010-10-11 10:58
terry64no
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2010-8-29
收藏
得分:0 
以下是引用tornador在2010-10-11 10:58:34的发言:

编译器是这样做的:你输入了五个数,并不是将这五个数一次性一下地全部输入,而是按照你的程序,遇到输入语句时,读取一个。你可以这样理解,程序在运行时,你已经把要输入的值全部告诉给了编译器,编译器要做的,就是遇到要输入时,从你刚才输入的读取一个就是了。这样也可以也为节省时间。当然,如果你想一个输入后回车一下也可以。
希望对你有所帮助。
噢,明白了!有了这个功能的确会大大减少程序员的时间!
2010-10-11 13:25
terry64no
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2010-8-29
收藏
得分:0 
以下是引用mxs810在2010-10-11 09:56:34的发言:

把你的操作截屏发过来看看,没太看明白你说的意思,连续输入五个数字不也是一个数吗?
谢谢!我问的3L已经帮我解答了!
2010-10-11 13:25
cacker
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-10-11 21:36
terry64no
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2010-8-29
收藏
得分:0 
以下是引用cacker在2010-10-11 21:36:32的发言:



他说的就是 有个输入缓冲区    因为CPU 内存 磁盘  这三样设备的速度是不一样的    属于串联结构   所以以最慢的表示最大速度

所以硬盘的速度是制约速度的关键   所以这里就有缓冲区的说法了   把要用的东西 弄一部分到内存里   想用的时候就直接跟内存要  

这样可以避免多次跟磁盘打交道

C语言的缓冲区结构是FILE类型    全局变量 _iob[0]是输入的  楼主可以自己跟着玩玩   挺有意思的
噢,原来还有这层原理,了解了!
2010-10-12 08:56
快速回复:请教一个输入命令是否可以连续输入的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.055730 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved