| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2082 人关注过本帖
标题:很冷门的一个问题,关于switch语句的。很难理解。
只看楼主 加入收藏
liaker
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-4-13
收藏
得分:0 
v0+=1;
  v2+=1;
两句连在一起,也不加{},你真考验编译系统啊!!!
2008-04-16 17:23
龙年生
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-3-8
收藏
得分:0 
好的,谢谢大家。
其实我以前搞不懂的就是v0为什么不和v2相等。
现在知道了原来两者初值都不一样。太不细心了
真的学到了很多东西
2008-04-16 21:57
xiaosan669
Rank: 1
来 自:西北工业大学
等 级:新手上路
帖 子:78
专家分:0
注 册:2007-3-9
收藏
得分:0 
where is "break"?

========== 我的世界,我说了算! ==========
2008-04-16 22:09
心若止水
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2008-4-9
收藏
得分:0 
没有break;所有的case条件都被顺序执行了一次。
2008-04-17 16:30
思考ING
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:140
专家分:0
注 册:2008-3-12
收藏
得分:0 
学习了~~~

天生孤独的思考~~~~~~~~~
2008-04-17 17:11
zp_0409
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2006-6-4
收藏
得分:0 
加了break也至少要循环两次呀!怎么修改成输入A 只执行一次?
2008-04-17 19:36
zp_0409
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2006-6-4
收藏
得分:0 
#include<stdio.h>
#include<conio.h>

main()
{
char c;
int v0=1,v1=0,v2=0;
c=getchar();
if(c!='\n')
{
  switch(c)
  {
  case 'a':
  case 'e':
  case 'i':
  case 'o':
  case 'u':v1+=1;break;
  default:{v0+=1;v2+=1;}
  }
}  //}while(c!='\n');
  printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);
  getch();
}


怎么改成循环的?
2008-04-17 20:02
zp_0409
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2006-6-4
收藏
得分:0 
#include<stdio.h>
#include<conio.h>

main()
{
char com;
int v0=1,v1=0,v2=0;
while((com=getchar())!='b')
{
  printf(" %c\n ",com);
  switch(com)
  {
  case 'a':
  case 'e':
  case 'i':
  case 'o':
  case 'u':v1+=1;break;
  default:{v0+=1;v2+=1;}
  }
}  
  printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);
  getch();
}

输入的时候不要输入多余的空格或者回车,否则输出结果有错。
比如输入:asder 中间不能有空格或者回车,否则结果和预期不一样
2008-04-17 21:12
快速回复:很冷门的一个问题,关于switch语句的。很难理解。
数据加载中...
 
   



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

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