|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 关于getchar的
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1935
人关注过本帖
标题:
关于getchar的
只看楼主
加入收藏
daienkai
等 级:
新手上路
帖 子:30
专家分:7
注 册:2017-1-31
结帖率:
100%
楼主
收藏
已结贴
√
问题点数:20 回复次数:10
关于getchar的
#include<stdio.h>
void main( ){
int c;
while( (c=getchar()) != '\n' )
//从控制台流中读取字符,直到按回车键结束
//这里为什么是不等于呢??
//我怎么理解成了不等于回车时输出了呢
求讲解
printf ("%c", c);
//输出读取内容
}
搜索更多相关主题的帖子:
控制台
2017-02-06 16:29
举报帖子
使用道具
赠送鲜花
zbjzbj
来 自:郑州
等 级:
贵宾
威 望:
52
帖 子:633
专家分:3045
注 册:2011-4-22
第
2
楼
收藏
得分:3
为输入数据设置结束条件,否则就成了死循环。按回车键结束输入。当然,你也可以设置成按其他键结束。比如按a键结束
2017-02-06 16:34
举报帖子
使用道具
赠送鲜花
daienkai
等 级:
新手上路
帖 子:30
专家分:7
注 册:2017-1-31
第
3
楼
收藏
得分:0
回复 zbjzbj
可是条件是不等于回车啊
我调试的时候按回车是结束啊
我输入第一个假如是a
那a!='\n'啊
按说就得输出了啊
这是咋回事啊
不理解了
2017-02-06 16:40
举报帖子
使用道具
赠送鲜花
ldsh304
等 级:
蝙蝠侠
威 望:
7
帖 子:242
专家分:755
注 册:2016-1-18
第
4
楼
收藏
得分:3
回复 3楼 daienkai
getchar()只有接收到回车的时候才会结束,并不是输入一个字符他就接收了
2017-02-06 17:03
举报帖子
使用道具
赠送鲜花
zbjzbj
来 自:郑州
等 级:
贵宾
威 望:
52
帖 子:633
专家分:3045
注 册:2011-4-22
第
5
楼
收藏
得分:0
回复 3楼 daienkai
不等于回车时执行大括号中的语句,本题只有一句,就是print语句,大括号省略了。等于回车时,while中条件不成立,跳过while语句组合。
2017-02-06 17:57
举报帖子
使用道具
赠送鲜花
cuichengde19
等 级:
新手上路
帖 子:22
专家分:3
注 册:2017-2-6
第
6
楼
收藏
得分:3
不等于('\n')一直循环
等于('\n')就退出循环
一开始就是死循环
2017-02-06 18:12
举报帖子
使用道具
赠送鲜花
renkejun1942
来 自:不是这样
等 级:
贵宾
威 望:
33
帖 子:1645
专家分:5297
注 册:2016-12-1
第
7
楼
收藏
得分:3
while((a = getchar()) != '\n')
你输入一个字符c,然后按下回车,但是循环却中止了,这是因为,你实际上输入了两个字符,一个字符c,一个回车,第一次,c被赋值给变量a,但是回车依旧留在缓冲区,于是在执行了Printf()语句之后,回车被赋值给变量a,于是判断为假,结束循环。
09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-02-06 18:15
举报帖子
使用道具
赠送鲜花
bjut_Allen
来 自:平乐园工业技术学校
等 级:
蜘蛛侠
威 望:
8
帖 子:323
专家分:1223
注 册:2016-10-16
第
8
楼
收藏
得分:3
while( (c=getchar()) != '\n' )
可以写成
c=getchar();
while(c!='\n')
好理解一些
Code is my life.
2017-02-06 18:55
举报帖子
使用道具
赠送鲜花
九转星河
来 自:长长久久
等 级:
贵宾
威 望:
52
帖 子:5023
专家分:14003
注 册:2016-10-22
第
9
楼
收藏
得分:3
多余的字符会留在缓冲区~
[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-02-07 07:06
举报帖子
使用道具
赠送鲜花
ICU
等 级:
业余侠客
威 望:
2
帖 子:92
专家分:268
注 册:2017-1-14
第
10
楼
收藏
得分:3
此程序可以解答楼主相关疑问:
int main(int argc, char* argv[])
{
while(1)printf("%d\n",getchar());
return 0;
}
2017-02-07 13:41
举报帖子
使用道具
赠送鲜花
11
1/2页
1
2
快速回复:
关于getchar的
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.024191 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved