| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2318 人关注过本帖
标题:多个循环,字符输出就可以和输入一样,为什么?
只看楼主 加入收藏
joinking
Rank: 2
来 自:广东汕尾
等 级:论坛游民
帖 子:26
专家分:15
注 册:2012-9-16
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:7 
多个循环,字符输出就可以和输入一样,为什么?
字符输入和输出:
#include "stdio.h"
        main()
        {
        char ch;
        ch=getchar();
          putchar(ch);
}我输入了很多个字符,只输出一个。例如输入sdfd,输出为s.
但下面的多了一个循环就可以输出sdfd.为什么会这样?
#include "stdio.h"
        main()
        {
        char ch;
        while((ch=getchar())!='#')
          putchar(ch);
}
搜索更多相关主题的帖子: include 
2012-10-06 10:50
爱闹的娃
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:265
专家分:975
注 册:2011-10-23
收藏
得分:0 
多看看书吧.....getchar()它是得到一个字符....并不是字符串
2012-10-06 11:14
陆嘉文
Rank: 1
来 自:江西
等 级:新手上路
帖 子:96
专家分:6
注 册:2011-11-10
收藏
得分:0 
必须一样啊 !ch=getchar();把键盘输入的字符给了ch啊,puchar在输出ch;
2012-10-06 12:14
lovewei_55
Rank: 1
等 级:新手上路
帖 子:9
专家分:3
注 册:2012-10-6
收藏
得分:0 
while 里边是个表达式,直接取代了  char ch;
                              ch=getchar();
getchar()只能输入单个字符,不能输入字符串的,如果要输字符串,就要用到以后学的数组,到时候你就会明白。

[ 本帖最后由 lovewei_55 于 2012-10-6 13:12 编辑 ]
2012-10-06 13:10
张朝成
Rank: 4
等 级:业余侠客
帖 子:149
专家分:265
注 册:2012-3-22
收藏
得分:0 
getchar()意思就是得到一个字符
2012-10-06 13:52
自强
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:132
专家分:130
注 册:2011-10-3
收藏
得分:10 
char 是字符类型,getchar()函数获取的是一个字符(理解这个函数的作用是关键)。
第一个程序,你输入sdfd,它当然只获取前面一个字符s(它不可能把sdfd四个字符都读进去)

char ch;        
ch=getchar();        //把读取到的字符赋给ch变量
putchar(ch);         //输出ch变量的值
---------------------------------------------------------------------------------------
第二个程序,循环读取字符,所以getchar()函数返回值只要不为#号,循环就一直进行下去。
所以你输入sdfd#:getchar()将读取五次,那么循环体也将执行4次。
换句话说,读取s的是时候,执行一次循环体(输出s),读取d的是时候,执行一次循环体(输出d)……
读取#的是时候,因为判断循环是否停止的条件是输入字符不能为#,所以循环停止,此时屏幕已经输出sdfd了!
//以上只是我个人见解,希望对你有帮助,建议你看这个程序的时候,先去理解程序中用到的关键的函数的作用!

[ 本帖最后由 自强 于 2012-10-6 15:20 编辑 ]

成为一名真正合格的程序设计人员,是我的梦想……我希望我的梦一直保持下去,直到我从这个世界消失……
2012-10-06 15:18
joinking
Rank: 2
来 自:广东汕尾
等 级:论坛游民
帖 子:26
专家分:15
注 册:2012-9-16
收藏
得分:0 
回复 6楼 自强
谢谢了,是我要的答案

彪悍的人生不需要解释
2012-10-06 21:13
Eumenides_me
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:63
专家分:151
注 册:2012-9-26
收藏
得分:0 
getchar()和putchar()是获取和输出一个字符,你如果想要输入和输出一个字符串,就用gets()和puts()好了
2012-10-06 21:44
快速回复:多个循环,字符输出就可以和输入一样,为什么?
数据加载中...
 
   



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

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