奇数个汉字报错: error C2001: newline in constant

#include 

main(int argc, char const *argv[])
{
	printf("%s\n", "哈");
	return 0;
}

就这么一个简单的C程序,我使用的VC++6.0中的编译器编译不过去;发现printf中如果是偶数个汉字,可以编译成功;如果是奇数汉字后面带上其他英文状态下的字符,也可以正常编译。而如果奇数个汉字为啥会报错呢?(当前文件编码utf-8)

网上有文章说将源文件格式保存成utf-8+bom,但是我发现还是报错,而且如果真的这样改,在linux上运行肯定会报错,bom头是很讨厌的东西,写的C程序无法夸平台了,不是我想要的。

网上搜了很长时间,也没有满意的解决办法,我暂时还是在奇数个中文后面加一个英文空格吧。

---------------------------------------------------------------------------------------------------------

2019-05-08更新

VC++6.0的编译器实在太老了,换成其他IDE没有这个问题。

 

你可能感兴趣的:(C)