do { //do something } while (0) TSfree(url); 这个TSFree 正好是个宏,然后编译就提示错误: error: expected ';' before '_TSfree' #define TSfree(p) _TSfree(p) ^xyzabc.cc:212:2: note: in expansion of macro 'TSfree' TSfree(url); ^ 分析N久才发现,原来 do while 后面要加分号. C 语言用了这么多年,还真是没
分号加与不加完全取决于个人习惯,但为了代码稳定(解析出错)还是建议使用分号断句. JavaScript自动加分号规则:1.当有换行符(包括含有换行符的多行注释),并且下一个token没法跟前面的语法匹配时,会自动补分号.2.当有}时,如果缺少分号,会补分号.3.当程序源代码结束时,如果缺少分号,会补分号.结论:1.在return.break.continue.后自增.后自减五种语句中,换行符可以完全替代分号的作用.2.var if do while for continue break retu
在javascript工作中,我们几乎不会去省略分号:为了不必要的麻烦以及代码的规范,那么如果我们省略:会发生呢?预知详情请听下回分解. 看代码! 片段一: 1 var a 2 = 3 8 4 console.log(a); >>8 片段二: var a b = 8 console.log(a); >>undefined console.log(b); >>8 console.log(ab); >>Uncaught ReferenceError: ab is