当前位置:编程学习 > VC++ >>

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 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,