今天在一论坛上看到一人发帖:
『最近遇到一个奇怪的问题,代码中的中文注释能使程序出错!!!
试看如下的代码:
int main() {
int a = 0;
int b = 0;
/**停车来源字*/——————应改为“/*(空格,也可不空)*停车来源字(空格)*/”
a = 10;
b = 20;
/**注释结束*/——————应改为“/*(空格,也可不空)*注释结束(空格)*/”
printf("a=%d\tb=%d", a, b);
return 0;
}
运行的结果居然是:a=0 b=0
分析后发现中间的赋值语句被当成了注释,忽略掉了。
请问各位大虾,是否遇到此现象?怎么解释?怎么避免此现象?
编译环境是VC++6.0。』
其实我遇到的倒不是,而是fatal error C1071: unexpected end of file found in comment,
查了下:注释里有中文等字符的时候, 在单行注释最后加个空格, 多行注释 */ 前加一个空格 ...
当然最好的是注释都用英文。
因为某些特殊中文字符在某些字符集下会被处理成特殊的转义序列, 并且GBK字符集中尾字符还包含了C标准的转义字符 0x5C '\\ ' , 在这些情况下, 转义字符后跟 */ 或者是单行注释的换行都会出错, 特别是在非中文的系统下编译的时候这种情况特别严重。修改如上。
运行的结果居然是:a=0 b=0—————— 可能空格的情况是
/**停车来源字*/
a = 10;
b = 20;
/**注释结束(空格)*/——————这里空格了,/**停。。。。。束(空格)*/之间的不执行。
printf("a=%d\tb=%d", a, b);
如果是/* */,不会出现诸于此类问题
http://topic.csdn.net/u/20100325/22/46c67761-38c8-4505-90bd-7c118791a298.html
http://topic.csdn.net/u/20070627/21/82ab7370-5a98-4e4d-8ed4-da6ad0996b84.html?310753027
相关推荐
解决报错fatal error C1010 unexpected end of file while looking for precompiled header directive
解决报错LINK : fatal error LNK1000补丁 返回错误:LINK : fatal error LNK1000: Internal error during IncrBuildImage
Fatal error: Class ‘COM’ not found in XXXXXXXXX 没发现 COM 类,php代码主要是调用一些系统的信息,初想应该是php没配置好,在stackoverflow找到答案,是讨论xampp的,要延伸开来,我加了几个要点: ★ php 根...
git init xxxx的时候报错: fatal: git 1.7.2 or later required 或许是git版本太低,你可以自己编译最新git源码进行安装。
重装系统后python环境问题后续:scrapy报错:Fatal error in launcher: Unable to create process using'”c:\users\administrator\appdata\local\programs\python\python37\python.exe” “D:\Users\Administrator\...
NULL 博文链接:https://dingherry.iteye.com/blog/1545972
winpcap 4.1.1在vc6下编译会出现以下错误,原因是vc6.0并不完美支持c++99标准,在64位cpu中...' before type 'unsigned int' c:\wpdpack\include\pcap-stdinc.h(79) : fatal error C1004: unexpected end of file found
collect2: fatal error: ld terminated with signal 11 [Segmentation fault], core dumped g++/gcc都不能编译了,一直抱ld的问题。网上找了很多方法都不行,弄了好久终于搞定了
前言本博客所写到的是我在Linux云服务器升级编译内核时所遇到的真实问题,已解决。编译内核遇到的问题太多了。问题描述 在进行内核编译的时候,提sha1加密 C语
解决安装vs2012后vs2010 LINK : fatal error LNK1123: failure during conversion to COFF Wrong version: 03/18/2010 01:16 PM 31,048 cvtres.exe Correct version: 02/21/2011 06:03 PM 31,056 cvtres.exe
系统重装后的pip 原为win7旗舰版的系统,升级固态后换成win10系统,可以...Fatal error in launcher: Unable to create process using '"e:\users\administrator\appdata\local\programs\python\python37\python.exe"
解决Fatal error Class 'Think' not found in runtime.php
fatal error C1083: 无法打开包括文件:“stdint.h”: No such file or directory 【错误】fatal error C1083: 无法打开包括文件:“stdint.h”: No such file or directory 【原因】stdint.h是c99标准的头文件,vc不...
fatal error C1083: 无法打开包括文件:“stdint.h”: No such file or directory. stdint.h是c99标准的头文件,vc不支持,所以肯定会提示“No such file or directory”的。使用方法:下载压缩包,解压得到两个.h...
网友分享的能够解决fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory问题的程序。MySQL-python-1.2.3.win32-py2.7.exe-32位MySQL-python-1.2.3.win-amd64-py...
VC6.0 多个常见错误指令 及其解决方法
在外部使用var就报错Parse error: syntax error, unexpected T_VAR in…,例如我的出错信息: Parse error: syntax error, unexpected T_VAR in D:\Apache2.2\htdocs\shirdrn\page\p2\pageUtil.inc on line 34 我在...
最常见的20种VC++错误,比如:1、fatal error C1010: unexpected end of file while looking for precompiled header directive。 寻找预编译头文件路径时遇到了不该遇到的文件尾。(一般是没有#include "stdafx.h...
文件夹中的live555文件是编译好的库文件。分文三个文件include,lib,src添加到VC6.0中即可使用。