搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 大一新生求助
标题:
大一新生求助
只看楼主
a3503858399
等 级:
新手上路
帖 子:5
专家分:0
注 册:2018-2-19
结帖率:
0
楼主
已结贴
√
问题点数:20 回复次数:8
大一新生求助
这是一个输入字母成绩,统计有多少个的程序输入EOF退出,但是输入EOF退出不来
搜索更多相关主题的帖子:
大一新生
输入
多少
EOF
退出
2018-02-19 20:17
a3503858399
等 级:
新手上路
帖 子:5
专家分:0
注 册:2018-2-19
第
2
楼
得分:0
大佬们啊,快出来啊
2018-02-19 20:37
ehszt
等 级:
贵宾
威 望:
40
帖 子:1728
专家分:3216
注 册:2015-12-2
第
3
楼
得分:4
ctrl+z
2018-02-19 20:54
vvvcuu
等 级:
贵宾
威 望:
12
帖 子:353
专家分:1253
注 册:2014-4-22
第
4
楼
得分:4
EOF是一个宏定义,不是一个可输入字符,它的值为-1.
getchar()执行一次只读入一个字符,对于你输入的EOF来说是三个字符,getchar()要执行三次才会完全读入.所以你的代码不可能停下来的.
想停下来可以换种方式,比如说输入ctrl+z, 或者监视键盘,键盘输入某控制字符的时候停止,或者多久键盘没动作就停止等等.
代码测试环境: WinXP+C-Free5.0.
2018-02-20 12:24
木下瞳
等 级:
新手上路
帖 子:37
专家分:6
注 册:2017-9-24
第
5
楼
得分:4
while(scanf("%d",&grade) != EOF)
你grade是整形,不是字符
2018-02-20 17:00
cherreggy
等 级:
新手上路
帖 子:2
专家分:4
注 册:2018-2-22
第
6
楼
得分:4
楼主好,希望这些建议能给你帮助。getchar不能读取三个字符,只能读取第一个。而且字符外面要加上''。在DEV C++可以试试最后按Ctrl+Z+Enter。如果你想输入的是字符串结束的话及建议你用数组,字符串比较大小函数strcmp(这个在之后才会学到)。现在咱们所学的顺序选择循环还做不到。你可以改成以按回车键结束((grade=getchar())!='\n')。可以多看一下每个函数的用法和注意事项。
[此贴子已经被作者于2018-2-24 13:48编辑过]
2018-02-24 13:38
马尔代夫人
等 级:
新手上路
帖 子:4
专家分:4
注 册:2018-2-25
第
7
楼
得分:4
定义一个string字符串 string s="EOF";然后判断就行了
2018-02-25 15:28
a3503858399
等 级:
新手上路
帖 子:5
专家分:0
注 册:2018-2-19
第
8
楼
得分:0
回复 6楼 cherreggy
谢谢
2018-02-26 19:06
a3503858399
等 级:
新手上路
帖 子:5
专家分:0
注 册:2018-2-19
第
9
楼
得分:0
感谢各位大佬
2018-02-26 19:06
9
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-484791-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.138787 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved