这种程序怎样编写

[复制链接]
 楼主| 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 | 显示全部楼层
向上跳就是为了再执行一次已经执行的代码
可以用循环结构实现之
dingy 发表于 2015-12-23 22:52 | 显示全部楼层
continue,break、等等可以实现所有的算法,换个思路想想吧!
pengf 发表于 2015-12-23 22:52 | 显示全部楼层
我猜LZ是用汇编用惯了喜欢跳来跳去
renyaq 发表于 2015-12-23 22:52 | 显示全部楼层
对,
建议用C就不要跳啦,循环的话用for,while,条件的话就把那段做成子函数,if调用
chuxh 发表于 2015-12-23 22:52 | 显示全部楼层
continue是结束本次循环,继续跳到条件判断处吧
supernan 发表于 2015-12-23 22:53 | 显示全部楼层
刚从汇编转成C语言确实一下难道改掉一些汇编的编程思维,一遇到要判断的地方就想跳!
栩栩如生 发表于 2015-12-23 22:53 | 显示全部楼层
如果只是跳转的次数少,而且,转换其它思路很困难的话,不如直接用goto。
zwll 发表于 2015-12-23 22:53 | 显示全部楼层
我开始也是不习惯C,你可以吧要用的功能写为一个子程序然后调用或者多用IF 分支选择语句就好了。
chuxh 发表于 2015-12-23 22:53 | 显示全部楼层
不建议用goto语句,建议优化程序设计思路,写成2个函数
juventus9554 发表于 2015-12-23 22:54 | 显示全部楼层
高手用汇编写程序,你可以看出其中有C的架构

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

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

习惯汇编就用汇编好了!
司徒老鹰 发表于 2015-12-23 22:54 | 显示全部楼层
估计楼主是刚学C,多看点别人的程序,
这不是什么go to的问题,是你不熟悉,不懂C。
很简单的 for 循环基本可以满足
 楼主| llljh 发表于 2015-12-23 22:54 | 显示全部楼层

大伙都是高手,把我看得很透彻啊,呵呵
dingy 发表于 2015-12-23 22:54 | 显示全部楼层
可以无差错的达到目的就行,用什么无所谓;
pengf 发表于 2015-12-23 22:55 | 显示全部楼层
写成状态机的形式,有点像任务调度,就可以实现各个任务的跳转了
renyaq 发表于 2015-12-23 22:55 | 显示全部楼层
goto不是不能用,他所以存在就是为了用的,但要看场合,如果一个goto就能是你的程序完成既要的功能,清晰明了,为什么不用呢
但如果你滥用goto的话,最后你自己都会昏头
supernan 发表于 2015-12-23 22:55 | 显示全部楼层
这个问题我曾经也遇到过。4年前刚刚从A转到C时。也在这个问题上遇到过。后来在坛子也遇到同样的问题。也用过整个程序只要一个死循环的,不过我现在东西让别的做的东西他是每个任务都要用死循环。所以就用了很多GOTO 之类的语句。不过各有好处。
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

粉丝
快速回复 在线客服 返回列表 返回顶部