|
发表于 2007-4-14 12:53:03
|
显示全部楼层
Post by bluespirit
楼上火气蛮大的. 我本来就是新手呀.只是觉得好玩才发出来的.我倒没说我是高手之类的. 听口气,您到是高手呀.
倒没有这个意思。只是像这种行为未定义的代码已经被反复讨论过 N 遍了,一次又一次的看到有点烦罢了。
Post by bluespirit
我觉得至少这样的一个问题能引想别人了解编译内部实现的问题,人总是要知道所以然的. 不能说,因为不规范就不去了解吧. 像这个问题,只有了解了,才能避免获得不想要的结果.
其实像这种行为未定义的代码,由于标准未指定其确切的行为,各个编译器在实现的时候可以自由发挥,探讨其实现实在没多大意思。
当然,如果这种问题最终能引导发问者去了解编译器的实现,固然是好事。但我觉得如果提问的人在发贴之前能先在网上搜索一下前人的讨论,那就更完美了。相信他/她在那里能发现更多有价值的信息,例如说 C 邮件列表中的 FAQ:
http://www.faqs.org/faqs/C-faq/faq/
请参看上述 FAQ 第三节(Section 3. Expressions)的问题及解答(并特别注意其参考资料)。值得注意的是,问题 3.3 就是楼主提的。 |
|