| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 820 人关注过本帖
标题:关于循环语句的问题?
只看楼主 加入收藏
zhangyanjin
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-10-16
收藏
 问题点数:0 回复次数:9 
关于循环语句的问题?
我做的一个循环语句,想在每次的程序运行过程中都要分别执行四个 fashongdaima1()子函数,不知道这样行不行?语法没错,但我觉得不够简洁,我用类似VB的定时器运行起来也觉得慢,switch下面能不能执行子函数,因为这个子函数还是有很多运算,不知道有没有更好的方法。 还请高手指点指点!!                        
                           int a;   
                           a=1;
             while (a<=4)
             {
                 a++;
                 switch (a)
                 {
                     case 1:fashongdaima1();
                     case 2:fashongdaima2();
                     case 3:fashongdaima3();
                     case 4:fashongdaima4();
                 }
             }
搜索更多相关主题的帖子: 语句 
2008-10-25 08:31
王海洋
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-7-26
收藏
得分:0 
这样写是可以的。你可以这样写一下
for(a=1,a<=4;a++)
switch(a)
{
                     case 1:fashongdaima1();break;
                     case 2:fashongdaima2();break;
                     case 3:fashongdaima3();break;
                     case 4:fashongdaima4();break;
                 }
             }
注意case语句中一定要有break,这个切忌。
2008-10-25 09:10
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
如果你想代码写的短一点,用函数指针数组是可以缩短代码的,但是如果说简洁,我个人认为,你这样写是最简洁的,当然后面的break不要忘记了
代码以让人最快能看懂是最好的,你如果一味的追求缩短代码长度,很可能弄到最后,自己也看不懂了

PS1:"送"字的拼音是song.不是shong
PS2:2#的最后,应该是"切记",而不是"切忌"

从BFS(Breadth First Study)到DFS(Depth First Study)
2008-10-25 09:30
名扬低调
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2008-10-12
收藏
得分:0 
呵呵,再最后一句加个break,不是也可以嘛?

无声的坚持或许沉默也是一种执着.!  By:名扬低调
变量的指针和指向变量的指针变量.!
2008-10-25 09:36
zhangyanjin
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-10-16
收藏
得分:0 
谢谢大家的回复!!!以后一定会注意的。
还有就是switch下面的case:后面执行的语句是不是可以包括子函数(书上的是1条语句)?因为我子函数中还有不少的运算。

[[it] 本帖最后由 zhangyanjin 于 2008-10-25 10:25 编辑 [/it]]
2008-10-25 10:18
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
[bo][un]名扬低调[/un] 在 2008-10-25 09:36 的发言:[/bo]

呵呵,再最后一句加个break,不是也可以嘛?


要照2#那样写,每个case结束之后,都要有一个break(除非你是有特殊的目的,故意不写)

[bo][un]zhangyanjin[/un] 在 2008-10-25 10:18 的发言:[/bo]

谢谢大家的回复!!!以后一定会注意的。
还有就是switch下面的case:后面执行的语句是不是可以包括子函数(书上的是1条语句)?因为我子函数中还有不少的运算。

1.每个case:下面,可以跟不只一条语句,随便多少条都行
2.只要能写语句的地方,就可以调用函数
3.如果在只允许写一条语句的地方(比如if或者for后面),需要写好几条语句,则可以把这些语句放在一对大括号里面,这样编译器就会把他们认为是一条语句了

从BFS(Breadth First Study)到DFS(Depth First Study)
2008-10-25 11:33
zhangyanjin
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-10-16
收藏
得分:0 
明白了,非常感谢!!!
2008-10-27 17:19
caoxh0415
Rank: 2
等 级:论坛游民
帖 子:125
专家分:23
注 册:2008-4-24
收藏
得分:0 
这个循环后面,好像必须在每个CASE语句后面加BREAK
2008-10-27 18:25
hjmHhyp
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-10-9
收藏
得分:0 
回复 8# caoxh0415 的帖子
对的。
2008-10-27 23:08
ztj20080808
Rank: 1
等 级:新手上路
威 望:1
帖 子:36
专家分:0
注 册:2008-10-27
收藏
得分:0 
[bo][un]zhangyanjin[/un] 在 2008-10-25 08:31 的发言:[/bo]

我做的一个循环语句,想在每次的程序运行过程中都要分别执行四个 fashongdaima1()子函数,不知道这样行不行?语法没错,但我觉得不够简洁,我用类似VB的定时器运行起来也觉得慢,switch下面能不能执行子函数,因为这 ...

首先:case 1:后的那条语句好像永远也不会被执行吧?
其次:case确实不能少了break。
2008-10-28 11:29
快速回复:关于循环语句的问题?
数据加载中...
 
   



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

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