标题:嘎,一上机懵了,请教下...
取消只看楼主
FMaster
Rank: 2
等 级:论坛游民
帖 子:63
专家分:62
注 册:2010-9-1
结帖率:88.89%
 问题点数:0 回复次数:0 
嘎,一上机懵了,请教下...
先看下面的C语句...(本人手机无大括号,就用中括号来表示...)
while((ch=getchar())!='#')
[
switch(ch)
[
case 'a':printf("1");
break;
case 'b':printf("2");
break;
default:
printf("3");
break;
]
]
上面的语句,就当它没有毛病,(我们现在讨论的是这语句的BUG问题,不是语法问题)
这个语句,理论上当输入a时,输出1,输入b时,输出2,输入除a,b外的字符时,输出3,但这是理论上的......
实际上...
输入a,输出1和3,输入b,输出2和3,输入除a或b外的字符时,输出33...
为什么哪?
因为在输入时,不光输入了一个字符,而且,在敲回车确认输入时,也输入了一个回车符...
解决的办法就是想法把那个回车符输出来...但怎么输哪?但我忘了...杯具...高人给提示下...
(当然还有别的毛病,比如:输入时不一定会只输入一个子符...在这,就光讨论回车符问题...)
搜索更多相关主题的帖子: 上机 上机 
2010-09-28 10:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-321564-1-1.html




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

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