| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 386 人关注过本帖
标题:输入读取问题求教
只看楼主 加入收藏
fengzhao33
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2012-11-26
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:7 
输入读取问题求教
    char aa[20];
    cout<<"输入:";
    int i=0;
    while(cin>>aa[i])
    {
        if(aa[i]=='\0')
            break;
        else
            i++;
    }
    cout<<aa;
回车之后无输出
2012-11-26 15:19
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
'\0'你输了吗?你知道'\0'怎么输吗?我也不知道。

My life is brilliant
2012-11-26 15:28
mmmmmmmmmmmm
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:8
帖 子:388
专家分:1809
注 册:2012-11-2
收藏
得分:5 
楼主 你这样写 试试
char aa[20];
    cout<<"输入:";
    cin>>aa;
    cout<<aa;

我们的目标只有一个:消灭0回复!
while(1)
++money;
2012-11-26 15:30
fengzhao33
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2012-11-26
收藏
得分:0 
回复 2楼 lz1091914999
比如输入了5个字符,那么回车以后字符组里后半部全是'\0'?还是说里面根本没有值啊?回车符也会添到字符组吗?如果按照楼下直接读取整个字符串,回车符是不是就不会读到字符组里了?但那样后面是不是自动赋值为空吗?
2012-11-26 15:51
fengzhao33
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2012-11-26
收藏
得分:0 
回复 3楼 mmmmmmmmmmmm
直接读取整个字符数组的话可以,但是和一个一个读有什么区别吗?为什么我那个一个一个的读不行啊。。
2012-11-26 15:52
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:5 
回复 4楼 fengzhao33
回车之后是'\n',不是'\0'

My life is brilliant
2012-11-26 16:24
xh1322579329
Rank: 2
等 级:论坛游民
帖 子:4
专家分:35
注 册:2012-11-26
收藏
得分:10 
回复 5楼 fengzhao33
你的while是死循环,没有\0这个字符在键盘上输入的,是永远不会退出这个循环,在你定义一个静态数组而又没有初始化的话,未初始化字符是会显示乱码的,你的这个while一直就没退出去过,你一直输入字,数组一直增加,超过了还是可以输入的,你打断点试试,如果是数组的首地址aa做cin>>aa的话你在回车的时候只是简单地对字符数组的某些元素赋值,是不会影响进行下一步输出的
2012-11-26 16:48
fengzhao33
Rank: 1
等 级:新手上路
帖 子:12
专家分:4
注 册:2012-11-26
收藏
得分:0 
回复 7楼 xh1322579329
懂了,膜拜膜拜。。。
2012-11-26 17:11
快速回复:输入读取问题求教
数据加载中...
 
   



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

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