前面的理解是对的。不是没异样,而是结果与预期不符,当然,编译器不可能知道程序员到底想要什么结果,但这正是要求程序员自己写清楚的,代码千万不能写成这样意图不清。本来,这种代码在高级的编译器中,是会发出警告的和有提示的,根本不应该自作主张替人“完善”。C语言很多这种陷阱,貌似正确的程序,其实错误百出而不自知,这才是C语言最麻烦之处,学会写一点能够“工作”的代码很容易,但要学会写真正能够交付使用的程序,没有那么简单。
正常的编程经验,是尽量不要写转义字符,只有在万不得已的情况下才使用,写的时候也要适当注释,提醒阅读者哪个字符是转义字符,本意是达到怎样的效果,否则将来维护者(极可能是自己)也搞不清楚这到底是什么意思。一句话,能够写直观的代码,就写直观的,不要没事搞什么技巧,好好的' '不用,非要用32,就是这类坏习惯。
[ 本帖最后由 TonyDeng 于 2012-11-3 00:18 编辑 ]
正常的编程经验,是尽量不要写转义字符,只有在万不得已的情况下才使用,写的时候也要适当注释,提醒阅读者哪个字符是转义字符,本意是达到怎样的效果,否则将来维护者(极可能是自己)也搞不清楚这到底是什么意思。一句话,能够写直观的代码,就写直观的,不要没事搞什么技巧,好好的' '不用,非要用32,就是这类坏习惯。
[ 本帖最后由 TonyDeng 于 2012-11-3 00:18 编辑 ]
授人以渔,不授人以鱼。