weichao4808335 发表于 2016-10-8 14:17
跳转在汇编里面是必须的,不明白c里面为什么不建议用
weichao4808335 发表于 2016-10-8 14:17
跳转在汇编里面是必须的,不明白c里面为什么不建议用
wshtyr 发表于 2016-10-8 14:03
goto 不是禁语,只是应用场合需严格受限,最好仅用于快速退出函数或循环
当然,艺高人胆大的可以用在switc ...
kebaojun305 发表于 2016-10-8 13:56
该用就用,就这么简单。
liufabing 发表于 2016-10-8 15:55
可以用do{} while(0);
takashiki 发表于 2016-10-8 16:28
写了十多年程序了,真心不知道do...while(0)除了宏定义需要外还有什么作用。
明明就一对花括号搞定的事情 ...
wshtyr 发表于 2016-10-8 14:00
经常这么用:
wshtyr 发表于 2016-10-8 14:00
经常这么用:
duanll 发表于 2016-10-9 00:12
经常用 do{}while(0); 主流的C编译器一般都能优化这种结构,效率甚至代码和直接用GOTO没有差别。。 ...
duanll 发表于 2016-10-9 00:12
经常用 do{}while(0); 主流的C编译器一般都能优化这种结构,效率甚至代码和直接用GOTO没有差别。。 ...
takashiki 发表于 2016-10-8 16:28
写了十多年程序了,真心不知道do...while(0)除了宏定义需要外还有什么作用。
明明就一对花括号搞定的事情 ...
myxiaonia 发表于 2016-10-9 09:00
宏定义中其实也是可以用一对花括号代替的
myxiaonia 发表于 2016-10-9 09:00
宏定义中其实也是可以用一对花括号代替的
chunjiu 发表于 2016-10-8 13:49
不知道你啥意思?这个例子删掉goto效果不是一样吗?
zhuyihua001 发表于 2016-10-8 16:38
goto 主要是破坏了代码优化算法和执行预测
所以一般通用程序不建议用goto破坏编译器优化
xwkm 发表于 2016-10-9 09:22
删掉就内存泄漏了
security 发表于 2016-10-9 09:18
if macro else do something
要照顾这个 case,还是 do while 0 有用。
myxiaonia 发表于 2016-10-9 12:07
这种情况下 do while(0)可以作为判断条件么 怎么感觉有点怪异啊
security 发表于 2016-10-9 08:57
问题的关键不在优化效率的差异上,而在于你容易理解,别人是否也容易理解呢?
没接触过的人,或许会认为 ...
takashiki 发表于 2016-10-9 06:01
请回答我我在24楼的问题,为什么要用do{}while(0);而不是直接一对花括号?这样做有什么好处?10楼、23楼 ...
yiminglei_2 发表于 2016-10-11 20:42
我记得曾几何时做过这样的,不知道现在有没有更好的方法。
内容就是fun2返回0时,跳出三重循环。
xwkm 发表于 2016-10-9 09:22
删掉就内存泄漏了
bart 发表于 2016-10-14 11:34
用作出错处理,退出函数释放资源,没有更好的办法。用do{} while(0)的明显代码写的不够。你在while里面swit ...
欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/) | Powered by Discuz! X3.4 |