标题:[求助]看不懂程序中的while循环语句,希望得到帮助!
只看楼主
inku
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2006-8-6
 问题点数:0 回复次数:20 
[求助]看不懂程序中的while循环语句,希望得到帮助!
运行以下程序后,从键盘输入china,则输出结果
include<stdio.h>
void main();
{
int v1=0,v2=0;char ch;
while((ch=getchar())!="#")
switch(ch)
{
case 'a':
case'h':
default: v1++;
case'0':v2++:
}
printf("%d,%d\n",v1,v2);
}
输出的结果是5,5.
while((ch=getchar())!="#");
这句话是什么意思?尤其是!="#"这个不等于"#"要表示什么意思?

[此贴子已经被作者于2006-8-21 18:25:38编辑过]

搜索更多相关主题的帖子: 语句 case getchar 
2006-08-19 11:41
nicksharp
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-8-4
得分:0 

我也没怎么看的懂你写的

2006-08-19 11:49
Sally_SJL
Rank: 1
等 级:新手上路
威 望:2
帖 子:452
专家分:1
注 册:2006-7-14
得分:0 

void main()
{
int v1=0,v2=0;char ch;
while((ch=getchar())!='#')
switch(ch)
{
case 'a':
case'h':
default: v1++;
case'0':v2++;
}
printf("%d,%d\n",v1,v2);
}

void main(); while((ch=getchar())!="#"); 后面都多了个分号

while 是循环,接受china,直到你输入#,那么循环结束。
第一次,ch=c;所以 v1=1,v2=1
第二次,ch=h;所以 v1=2,v2=2
。。。。。。。。。
依次类推


人生没有彩排,每天都是现场直播~~~
2006-08-19 12:43
泱泱
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-7-23
得分:0 
while((ch=getchar())!="#");

while 是循环,(ch=getchar())!="#" 循环结束的条件
当你输入#是循环就结束了
当然你也可以改成别的
2006-08-19 12:47
inku
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2006-8-6
得分:0 
case 'a':
case'h':
那这两个语句有什么意义吗?就是输出a和h两个字母吗?
2006-08-19 14:26
lxase
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-7-20
得分:0 
  default: v1++;这一句就应该已经跳出循环了,所以 case'0':v2++;这句就不起作用了。结果应该有误。应该是5,0
2006-08-19 14:36
Sally_SJL
Rank: 1
等 级:新手上路
威 望:2
帖 子:452
专家分:1
注 册:2006-7-14
得分:0 
以下是引用inku在2006-8-19 14:26:45的发言:
case 'a':
case'h':
那这两个语句有什么意义吗?就是输出a和h两个字母吗?

不是,case 'a': 后面什么都没有,所以什么都不做,同样case'h':也是


人生没有彩排,每天都是现场直播~~~
2006-08-19 15:12
Sally_SJL
Rank: 1
等 级:新手上路
威 望:2
帖 子:452
专家分:1
注 册:2006-7-14
得分:0 
以下是引用lxase在2006-8-19 14:36:55的发言:
default: v1++;这一句就应该已经跳出循环了,所以 case'0':v2++;这句就不起作用了。结果应该有误。应该是5,0

好象说的不对哦,
default: v1++; break; 这样的话,才是跳出循环


人生没有彩排,每天都是现场直播~~~
2006-08-19 15:15
inku
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2006-8-6
得分:0 
以下是引用Sally_SJL在2006-8-19 15:12:45的发言:

不是,case 'a': 后面什么都没有,所以什么都不做,同样case'h':也是

case'0':v2++:这句的意思是遇到从键盘输入0就执行v2++:
default: v1++;这句又是什么意思呢?我印象中default应该放在循环的最后吧!

2006-08-19 15:20
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
得分:0 
look book

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-08-19 15:21



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




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

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