| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 640 人关注过本帖
标题:字符输入问题(莫名其妙的)
只看楼主 加入收藏
black0fish
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2006-9-5
收藏
 问题点数:0 回复次数:8 
字符输入问题(莫名其妙的)

#include <stdio.h>

main()
{
char str1,str2;
printf("Would you like instructions?");
scanf("%c",&str1); //第一次输入一个字符作为判断
if(str1=='y')
printf("Game is over!\n");
else if(str1=='n')
{
printf("You have $50. Would you like to play?\n");//程序运行到这里的时候结束了?
scanf("%c",&str2);//第二次输入字符,可为什么这步不能执行?
}
}

为什么第二次输入字符的语句根本不执行就直接退出了?

搜索更多相关主题的帖子: 字符 输入 
2006-10-24 20:04
tesient_xly
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-10-24
收藏
得分:0 
应该你在输入n,以后一个回车,然后str2接受了这个回车的值
所以程序就结束了!
2006-10-24 20:08
tesient_xly
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-10-24
收藏
得分:0 
解决的办法是在第一个scanf语句后面加个getchar()
2006-10-24 20:09
black0fish
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2006-9-5
收藏
得分:0 
啊哦,试试

难怪整型,浮点型都OK的
2006-10-24 20:38
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 
[code]scanf("%c",&str1);
getchar(); //吃到回车
[code]

unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-10-24 21:15
hothui2008
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-10-22
收藏
得分:0 

[QUOTE]引用black0fish的发言
啊哦,试试

难怪整型,浮点型都OK的

那为什么整型浮点数又可以呢? [/QUOTE]

2006-10-25 00:32
ChenMo
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:3
帖 子:481
专家分:10
注 册:2004-4-8
收藏
得分:0 
scanf("%c",&str1); //第一次输入一个字符作为判断
fflush(stdin); //在此处插入 fflush() 试试
if(str1=='y')
....

这句之后也插入 fflush() 试试:
scanf("%c",&str2);//第二次输入字符,可为什么这步不能执行?
fflush(stdin);

欢迎加入 MVC 技术讨论群(新群:90093426)
2006-10-25 10:55
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用tesient_xly在2006-10-24 20:09:36的发言:
解决的办法是在第一个scanf语句后面加个getchar()

应该说是printf();后面scanf()的前面.以消除换行对下面的字符输入的影响.


倚天照海花无数,流水高山心自知。
2006-10-25 12:18
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
以下是引用nuciewth在2006-10-25 12:18:32的发言:

应该说是printf();后面scanf()的前面.以消除换行对下面的字符输入的影响.

你就没懂,printf()不会在缓冲区留下垃圾信息,
是scanf()在输入之后,会在缓冲区留下一个回车


2006-10-25 15:12
快速回复:字符输入问题(莫名其妙的)
数据加载中...
 
   



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

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