fatal error C1071: unexpected end of file found in comment(Mark ZZ)

今天在一论坛上看到一人发帖:

『最近遇到一个奇怪的问题,代码中的中文注释能使程序出错!!!

试看如下的代码:

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

使用VC6.0编译C++代码的时候报错:fatal error C1071: unexpected end of file found in comment(Mark ZZ)的更多相关文章

  1. 手动编译源码安装包报错 fatal error:cruses.h: no such file or direcrory

    很明显是缺少cruses.h这个文件,但是用yum搜索又搜不到,可能是我的yum源的库包太少的原因吧. 后来多方查找,发现cruses.h这个头文件属于ncurses模块,需要安装ncurses-de ...

  2. 编译Cython代码时遇到的问题: fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'

    使用python setup.py build_ext --inplace命令编译cython代码, 出现以下错误: Compiling cython_example.pyx because it c ...

  3. Shell脚本报错--syntax error near unexpected token for((i=0;i<$length;i++))

    现象: shell脚本使用Nodepad++进行本地编辑,在编辑后上传到linux机器进行执行时提示“syntax error near unexpected token for((i=0;i< ...

  4. 让VC6.0编译出来的程序支持XP样式或XP风格

    (1)VC6.0编译出来的win32程序不支持winxp样式的原因:微软WINXP系统更新了Comctl32.dll(ver 6.0)这个“XP风格”的控件.为了保留传统的Windows界面风格,特地 ...

  5. VC6.0编译boost

    今天学习了下VC6.0下boost的编译,只是对regex进行了编译,据说全部编译需要2个多小时,在此记录下学习过程中遇到的问题以便今后查看. 最开始直接从网上(www.boost.org)下载了当前 ...

  6. 比特币初始版本VC6.0编译

    1 源码下载 github上初始版本是bitcoin-0.1.5,可以从https://github.com/bitcoin/bitcoin下载,但是从网上可以找到更老版本bitcoin-0.1.0, ...

  7. Centos 7.5源码编译安装zabbix4.0报fatal error: mysql.h: No such file or directory

    系统环境:CentOS 7.5是最小化安装的 编译信息 编译选项: root@Server01 zabbix-]# ./configure --prefix=/usr/share/applicatio ...

  8. webRTC中回声消除(AEC)模块编译时aec_rdft.c文件报错:

    webRTC中回声消除(AEC)模块编译时aec_rdft.c文件报错. 原因是: 局部变量ip跟全局变量冲突的问题,可以将局部变量重新命名一下,就可以通过编译了. aec_rdft.c修改以后文件代 ...

  9. caffe编译问题-src/caffe/net.cpp:8:18: fatal error: hdf5.h: No such file or directory compilation terminated.

    错误描述 src/caffe/net.:: fatal error: hdf5.h: No such : recipe 操作过程 step1: 在Makefile.config文件更改INCLUDE_ ...

随机推荐

  1. 【Luogu】【关卡2-3】排序(2017年10月) 【AK】

    任务说明:将杂乱无章的数据变得有规律.有各种各样的排序算法,看情况使用. 这里有空还是把各种排序算法总结下吧.qsort需要会写.. P1177 [模板]快速排序 这个题目懒得写了,直接sort了.. ...

  2. 了解跨站请求伪造CSRF

    参考以下两篇文章: https://www.cnblogs.com/Erik_Xu/p/5481441.html https://www.cnblogs.com/4littleProgrammer/p ...

  3. js 实现弹出层效果

    代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <tit ...

  4. leetcood学习笔记-13

    错误记录 class Solution: def romanToInt(self, s: str) -> int: d = {'I':1,'V':5,'X':10,'L':50,'C':100, ...

  5. Java中遍历数组的三种方式复习

    1 for循环遍历 通常遍历数组都是使用for循环来实现.遍历一维数组很简单,遍历二维数组需要使用双层for循环,通过数组的length属性可获得数组的长度. 程序示例: package captai ...

  6. homebrew -- mac os 系统下的 apt-get、yum

    linux下有很方便的包管理器如:apt-get.yum,mac下也有类似的工具:Homebrew 和 Fink.MacPort.Flink是直接编译好的二进制包,MacPorts是下载所有依赖库的源 ...

  7. sklearn中standardscaler中fit_transform()和transform()有什么区别,应该怎么使用?

    在根据机器学习书中提供的实例中,看到需要对训练和测试的特征数据进行标准化. 但是使用的是有两个函数, 对于训练数据,使用的是fit_transform()函数 对于测试数据,使用的是tansform( ...

  8. opencv打开摄像头并新建窗口显示

    几个程序使用的基本函数如下: ******************************************************************* cvCreateCameraCap ...

  9. 使用listFiles的FileFilter过滤来查找文件并处理

    package test; import java.io.File; import java.io.FileFilter; public class MyFilter implements FileF ...

  10. 20140724 菜单制作:制表位(段落->制表位->)

    1.菜单制作:制表位(段落->制表位->) 叶轩楠·········· 上海大学 轩楠叶·········· 上海大学 楠轩叶·········· 上海大学 选完后要选“设置” 2.光盘制 ...