char a=5打印出来是一个方框
int main()
{
char a1 = 5;
char a2 = '5';
char a[5] = "boy";
printf("a1=%c\n", a1);
printf("a2=%c\n", a2);
return 0;
}
想对比一下char类型使用时不加单引号的结果
方框就表示不在ascii码表里的字符
所以5什么都不是
你查一下ascii码表,不加引号的5就代表5在ascii码表所对应的字符
计算机底层只能存01字符,那么为什么定义成char,能识别到相应的字符呢?是因为计算机根据底层这个1字节的01字符对应的数字,去assii码表中找对应的字符进行显示而已。assii码表百度了解一下
而,显示出现你图像中的框框,他不是什么符号吧,assii码表中有的字符不能直接显示再终端上,可能就会有这种显示。个人理解可以理解为乱码