为什么要用do{}while(false) 刚才看了给软件添加后门的帖子,代码中有do while这样的用法,苦想后无果,于是Google,终得解。有同问的可以看这里,比较详细的解释http://blog.csdn.net/lovelan1748/archive/2010/02/24/5321558.aspx 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 呵呵,这种逻辑,就是为了代替goto Goto 挺好的,没必要非写成这样。不死的goto已经证明了这点 goto难免出错,顺序执行看着清爽多了,另外do while中使用break能防止过多的判断嵌套 C#没必要这么写,因为C#有exception并且还能给出出错原因,而且在宏里用do{}while(0)也不是为了方便跳转,因为没有全局错误码的情况下这么跳转没法分辨错误源。do{}while(0)一般是用来把宏当作执行过程用的,do{}while(0)可以避免预处理多行宏的情况下产生无法编译的语句。 do{}while(0)这种完全没有必要的写法我印象里好像是出现在上世纪七八十年代某个C源代码里的一个宏,那个宏的功能只能用这种写法来实现,后来很多人发现这么写很方便于是写多行宏都这么用了,现在在许多C/C++代码里都能看到这种写法。 存在即合理嘛,至少可读性是强于goto的 LINQtoSQL,SubmitChanges()方法没有把修改同步至数据库,怎么做 获取计算机启动项? 讨论Convert.ToInt32和int.Parse有什么区别,你一般用哪个? 微软企业库中的AddInParameter方法如何插入image类型的参数? 在程序中如何改變文件的屬,我要鎖定文件 注册表的问题 C#取服务器时间时时显示出来 数据库中数据赋值问题 C# winform 怎样使制作的卸载程序不删除某个文件,比如access数据库文件 怎么样把exe的C#项目文件转换成dll的呀?? 请问关于datagridview中的单元格问题 如何访问远程数据库
不死的goto已经证明了这点
do{}while(0)这种完全没有必要的写法我印象里好像是出现在上世纪七八十年代某个C源代码里的一个宏,那个宏的功能只能用这种写法来实现,后来很多人发现这么写很方便于是写多行宏都这么用了,现在在许多C/C++代码里都能看到这种写法。