标题:[求助]关于输入字符的switch()语句
只看楼主
ting6love
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2007-9-27
得分:0 
是字符。。用do   while做循环的话,char ch;   ch=getchar();
2007-10-13 22:32
yyce
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2007-9-19
得分:0 

是否可以这样
switch(ch)
{
case'y':printf("continue!!!\n");break;
case'n':continue;
default:break;
 }

2007-10-14 00:10
meteor57
Rank: 1
来 自:银河系
等 级:新手上路
帖 子:267
专家分:0
注 册:2007-9-29
得分:0 

ondy,
while(ans=='y'||ans=='Y')
{
....
.....
}
这样.如果输入"y"那不是进入无限循环?......

succubus,你说说char ch;改为int ch在这个地方主要有什么区别吧.(字符型?整形?)

yyce,你的那个应该不可以吧.当N的时候不也没反应?我想要的是.N退出啊
当Y的时候进入函数的调用.

2007-10-14 22:46
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
得分:0 
以下是引用meteor57在2007-10-14 22:46:17的发言:

ondy,
while(ans=='y'||ans=='Y')
{
....
.....
}
这样.如果输入"y"那不是进入无限循环?......

succubus,你说说char ch;改为int ch在这个地方主要有什么区别吧.(字符型?整形?)

yyce,你的那个应该不可以吧.当N的时候不也没反应?我想要的是.N退出啊
当Y的时候进入函数的调用.

在你这程序里其实int ch还是char ch都无所谓
但是如果你的程序涉及到读取EOF的问题时最好声明成int ch
因为char到底是有符号类型还是无符号类型每个编译器的实现都不同
而EOF的值一般为-1
所以如果你用的编译器默认char类型为无符号的
那么你的程序就没法正确读入EOF结束符

[此贴子已经被作者于2007-10-14 23:26:39编辑过]


[url=http:///view/aDU1]/image/aDU1.gif" border="0" />[/url]
2007-10-14 23:25
meteor57
Rank: 1
来 自:银河系
等 级:新手上路
帖 子:267
专家分:0
注 册:2007-9-29
得分:0 
原来如此,多谢赐教!
2007-10-16 01:17



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




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

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