标题:向大家请教一个基础问题
取消只看楼主
虫虫飞ya飞
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2005-11-28
 问题点数:0 回复次数:3 
向大家请教一个基础问题
#include<iostream.h>
main(){
char str[6],ch;
cin.get(str,6);
cout<<str<<endl;

while(cin.get()!='\n');
cin.get(ch);
cout<<ch<<endl;
}
这个小程序如果我输入abcdefgh
那它输出则是abcde然后就再让你输入一些字符它才执行cout<<ch<<endl;我觉的如果第一次输入的字符超过了所定义的字符大小,那么它就该直接执行cout<<ch<<endl;就象上面那个我觉的它输出abcde之后应该直接输出个f,为什么它还要我再输入字符它才执行cout<<ch<<endl呢。。。还是我理解错了???
搜索更多相关主题的帖子: 基础 
2005-11-30 10:11
虫虫飞ya飞
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2005-11-28
得分:0 

还是不明白,如果输入 abcd 输出abcd 然后再输入 abc 输出是a 这个没什么问题
我不明白的是如果我输入abcdefgh按我想的它的输出应该是 abcde f 实际上不是这样,它的输出是abcde它并不是提取多余的字符而是叫我再输入字符然后它才输出ch我想不明白为什么。。。。


2005-11-30 11:15
虫虫飞ya飞
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2005-11-28
得分:0 

#include<iostream.h>
main(){
char str[6],ch;
cin.get(ch);
cout<<ch<<endl;

cin.get();
cin.get(str,6);
cout<<str<<endl;
}

这个是上面的另一种形式。。它的输出就跟我想的一样哈


2005-11-30 11:32
虫虫飞ya飞
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2005-11-28
得分:0 
哦。。。看来还是我理解错了。。。主要是因为下面的第2个程序说是第一个程序的另一种写法但结果的输出确有些出入把我搞混了。。谢谢大家

2005-11-30 12:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-35883-1-1.html




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

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