#include <STDIO.h>
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没有这个问题。