C语言 输出的结果乱码了
用C语言输出这个国际象棋棋盘的时候那个黑色部分变成 圹用的是 Dev-c++
怎么改???
#include<stdio.h>
int main()
{
int i,j;
for(i=0;i<8;i++)
{
for(j=0;j<8;j++)
{
if((i+j)%2==0)
printf("%c%c",219,219);
else
printf("");
}
printf("\n");
}
return 0;
} 请对照 ascii 码表,219 已经超出 ascii 码所能表示的范围:
https://static01.imgkr.com/temp/e19506d2acd141f6bb3d08d7285d917c.png 那ASCII非打印控制字符
怎么输出??
那个黑正方形 22 Tep 发表于 2022-4-14 18:12
那ASCII非打印控制字符
怎么输出??
那个黑正方形 22
这种字符并非所有终端都能正确显示 本帖最后由 傻眼貓咪 于 2022-4-14 18:52 编辑
Tep 发表于 2022-4-14 18:12
那ASCII非打印控制字符
怎么输出??
那个黑正方形 22
自行更改 cmd 控制台(代码页 437)便可。
#include <stdio.h>
#include <stdlib.h>
int main() {
system("chcp 437");
printf("%c", 219);
return 0;
}
代码页 437 是 MS-DOS 编码。 isdkz 发表于 2022-4-14 17:56
请对照 ascii 码表,219 已经超出 ascii 码所能表示的范围:
219应该在ASCII扩展字符里面有。 zzxhh628 发表于 2022-4-14 18:54
219应该在ASCII扩展字符里面有。
没有 ascii 扩展字符的说法,
扩展ascii码 是用来表示 ascii 编码以外的其它编码的,
不是用来表示字符的 isdkz 发表于 2022-4-14 19:05
没有 ascii 扩展字符的说法,
扩展ascii码 是用来表示 ascii 编码以外的其它编码的,
不是还有个128-255的扩展码嘛? zzxhh628 发表于 2022-4-14 19:14
不是还有个128-255的扩展码嘛?
对呀,不过那个是用来表示 gbk、utf-8 等等的其它编码的,
不是用来表示字符的 isdkz 发表于 2022-4-14 19:28
对呀,不过那个是用来表示 gbk、utf-8 等等的其它编码的,
不是用来表示字符的
哦,原来如此,谢谢 傻眼貓咪 发表于 2022-4-14 18:49
自行更改 cmd 控制台(代码页 437)便可。
谢谢大佬,输出的问题解决了,ps(就是那个图形有点强差人意,和标准的象棋棋盘有那么一点差距,和输出的图形没啥关系,单纯吐槽一下){:10_266:}{:10_266:} {:5_95:}
页:
[1]