那是不支持中文的系统才出现黑色格子,在支持中文的系统就会出现中文了。
当然汉字里也有黑色格子如:
printf("%c%c\n", 0xa8, 0x80);
输出 █,当然在黑色dos屏幕下会变成白色色块
这不是你的错,也不是书上的错,如果你知道汉字编码原理的话,你就会知道,汉字GB系列编码的实质就是利用扩展AscII码没有标准化,所以它与扩展AscII码存在着一定的冲突,书上的是针对在TC2.0等不支持中文环境下编译的,你在VC6.0环境中的话,你试试
printf("%c%c",254,254);
它我记得好像没与中文冲突。
至于ASCII码你可以到:
http://www.jfstudio.net/aspnet/javascript/20071122/10250668.shtml去看,你会发现219的确是黑色方格,当然254也是,但是219与汉字编码有着冲突,原因我在上面已经解说了...
ASCII码黑色方格为178
你可以printf("%c\n",178);试试
就是219
去查ascII码。