打印

这种程序怎样编写

[复制链接]
1243|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
llljh|  楼主 | 2015-12-23 22:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
不用goto向上跳转
沙发
zwll| | 2015-12-23 22:51 | 只看该作者
能不能有continue

使用特权

评论回复
板凳
juventus9554| | 2015-12-23 22:51 | 只看该作者
C语言一般都是顺序执行的吧,我还没有过要向上运行的。

如果非得向上,While;for都可以吧

使用特权

评论回复
地板
司徒老鹰| | 2015-12-23 22:52 | 只看该作者
向上跳就是为了再执行一次已经执行的代码
可以用循环结构实现之

使用特权

评论回复
5
dingy| | 2015-12-23 22:52 | 只看该作者
continue,break、等等可以实现所有的算法,换个思路想想吧!

使用特权

评论回复
6
pengf| | 2015-12-23 22:52 | 只看该作者
我猜LZ是用汇编用惯了喜欢跳来跳去

使用特权

评论回复
7
renyaq| | 2015-12-23 22:52 | 只看该作者
对,
建议用C就不要跳啦,循环的话用for,while,条件的话就把那段做成子函数,if调用

使用特权

评论回复
8
chuxh| | 2015-12-23 22:52 | 只看该作者
continue是结束本次循环,继续跳到条件判断处吧

使用特权

评论回复
9
supernan| | 2015-12-23 22:53 | 只看该作者
刚从汇编转成C语言确实一下难道改掉一些汇编的编程思维,一遇到要判断的地方就想跳!

使用特权

评论回复
10
栩栩如生| | 2015-12-23 22:53 | 只看该作者
如果只是跳转的次数少,而且,转换其它思路很困难的话,不如直接用goto。

使用特权

评论回复
11
zwll| | 2015-12-23 22:53 | 只看该作者
我开始也是不习惯C,你可以吧要用的功能写为一个子程序然后调用或者多用IF 分支选择语句就好了。

使用特权

评论回复
12
chuxh| | 2015-12-23 22:53 | 只看该作者
不建议用goto语句,建议优化程序设计思路,写成2个函数

使用特权

评论回复
13
juventus9554| | 2015-12-23 22:54 | 只看该作者
高手用汇编写程序,你可以看出其中有C的架构

不过,我也看过一些C程序,我猜,那是先用汇编写好,然后手工译成C

希望楼主不是在进行这个工作

习惯汇编就用汇编好了!

使用特权

评论回复
14
司徒老鹰| | 2015-12-23 22:54 | 只看该作者
估计楼主是刚学C,多看点别人的程序,
这不是什么go to的问题,是你不熟悉,不懂C。
很简单的 for 循环基本可以满足

使用特权

评论回复
15
llljh|  楼主 | 2015-12-23 22:54 | 只看该作者

大伙都是高手,把我看得很透彻啊,呵呵

使用特权

评论回复
16
dingy| | 2015-12-23 22:54 | 只看该作者
可以无差错的达到目的就行,用什么无所谓;

使用特权

评论回复
17
pengf| | 2015-12-23 22:55 | 只看该作者
写成状态机的形式,有点像任务调度,就可以实现各个任务的跳转了

使用特权

评论回复
18
renyaq| | 2015-12-23 22:55 | 只看该作者
goto不是不能用,他所以存在就是为了用的,但要看场合,如果一个goto就能是你的程序完成既要的功能,清晰明了,为什么不用呢
但如果你滥用goto的话,最后你自己都会昏头

使用特权

评论回复
19
supernan| | 2015-12-23 22:55 | 只看该作者
这个问题我曾经也遇到过。4年前刚刚从A转到C时。也在这个问题上遇到过。后来在坛子也遇到同样的问题。也用过整个程序只要一个死循环的,不过我现在东西让别的做的东西他是每个任务都要用死循环。所以就用了很多GOTO 之类的语句。不过各有好处。

使用特权

评论回复
20
supernan| | 2015-12-23 22:55 | 只看该作者
实现同样的功能,代码的比较如下:Program Size: data=67.7 xdata=0 code=4894(只要一个死循环,无GOTO 之类的语句)
Program Size: data=20.2 xdata=161 code=10752(这个是用了goto每个任务都是死循环)
同样的编译等级9(keil)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

855

主题

11301

帖子

6

粉丝