国际象棋棋盘'\xA1', '\xF6'的意思

时间:2021-04-03 11:00:03
#include <stdio.h>

int main(void)
{
int i, j;

for(i = 0; i < 8; i++)
{
for(j = 0; j < 8; j++)
if((i + j) % 2 == 0)
printf("%c%c", '\xA1', '\xF6');//(这句不太明白, '\xA1', '\xF6'是什么意思,为什么把219改成  这个就可以在VC++下运行出棋盘?)
else
printf("  "); /*输出两个空格*/
printf("\n");
}
return 0;
}

9 个解决方案

#1


网上流传的最多的是第一个printf那里
printf("%c%c", 219, 219);

#2


是16进制表示的字符, 都已经超过0x7f,不属于ASCII范围了。结果是什么取决于你的系统locale设置。 

'\xA1' //(char)0xA1
'\xF6' //(char)0xF6

#3


开始加一句
system("chcp 437");

#4


引用 3 楼 zhao4zhong1 的回复:
开始加一句
system("chcp 437");

加上这句编译不通过啊...

#5


'\xA1'是这个符号
¡ 英文名称是:inverted exclamation mark 颠倒的感叹号
 '\xF6'是这个符号
ö 英文名称是 small o dieresis or umlaut 小写o上面两个点。

#6


两个和在一起,在汉字系统中,是汉字:■

#7


引用 4 楼 outer_star 的回复:
Quote: 引用 3 楼 zhao4zhong1 的回复:

开始加一句
system("chcp 437");

加上这句编译不通过啊...

#include <stdlib.h>

#8


引用 7 楼 zhao4zhong1 的回复:
Quote: 引用 4 楼 outer_star 的回复:

Quote: 引用 3 楼 zhao4zhong1 的回复:

开始加一句
system("chcp 437");

加上这句编译不通过啊...

#include <stdlib.h>
为何要加上system("chcp 437");呢?

#9


搜“代码页”

#1


网上流传的最多的是第一个printf那里
printf("%c%c", 219, 219);

#2


是16进制表示的字符, 都已经超过0x7f,不属于ASCII范围了。结果是什么取决于你的系统locale设置。 

'\xA1' //(char)0xA1
'\xF6' //(char)0xF6

#3


开始加一句
system("chcp 437");

#4


引用 3 楼 zhao4zhong1 的回复:
开始加一句
system("chcp 437");

加上这句编译不通过啊...

#5


'\xA1'是这个符号
¡ 英文名称是:inverted exclamation mark 颠倒的感叹号
 '\xF6'是这个符号
ö 英文名称是 small o dieresis or umlaut 小写o上面两个点。

#6


两个和在一起,在汉字系统中,是汉字:■

#7


引用 4 楼 outer_star 的回复:
Quote: 引用 3 楼 zhao4zhong1 的回复:

开始加一句
system("chcp 437");

加上这句编译不通过啊...

#include <stdlib.h>

#8


引用 7 楼 zhao4zhong1 的回复:
Quote: 引用 4 楼 outer_star 的回复:

Quote: 引用 3 楼 zhao4zhong1 的回复:

开始加一句
system("chcp 437");

加上这句编译不通过啊...

#include <stdlib.h>
为何要加上system("chcp 437");呢?

#9


搜“代码页”