VC6诡异的中文注释导致错误
引用:
最近遇到一个奇怪的问题,代码中的中文注释能使程序出错!!!
试看如下的代码:
int main() {
int a = 0;
int b = 0;/**停车来源字*/
a = 10;
b = 20;/**注释结束*/
printf("a=%d b=%d", a, b);
return 0;
}
运行的结果居然是:a=0 b=0
分析后发现中间的赋值语句被当成了注释,忽略掉了。
请问各位大虾,是否遇到此现象?怎么解释?怎么避免此现象?
编译环境是VC++6.0。
html?65607">
在这个帖子中,楼主出现了一个很诡异的由于注释不当出现的异常。
经过实际测试,该现象可以重复出现。
出现的条件是:
1.注释完全是中文,不带任何空格,英文或其它字符
2.使用/**/注释,而不是//
3.在/*和中文注释内容之前,插入一个或一个以上的*号时,编译就会提示fatal error C1071: unexpected end of file found in comment
特此记录。可能还有其它的情况。比如楼主就说他的代码能编译通过,但运行结果异常。
有兴趣的可以动手试试。看看大家的结果如何。
补充:软件开发 , Vc ,