字符型数据与整型数据之间的转换问题
运行结果如图片所示,问题如下:c1以%d为占位符输出时,发生溢出显示数值为-2,但是以%c为占位符输出时,ASCII码值为254应该是一个黑色方框,这里却显示为一个?
c2以%u为占位符输出时,正常显示数值为254,以%c为占位符输出时,也显示为一个?
为什么输出的对应字符都是错的,我查了ASCII码表,显示?时,ASCII码值应该是63
代码如下:
#include<stdio.h>
int main()
{
char c1=254;
unsigned char c2=254;
printf("%d,%c\n",c1,c1);
printf("%u,%c\n",c2,c2);
return 0;
} char顶多也就127大于127的 都无法正常显示,你说的什么方框也只是在特定条件下才能显现 本帖最后由 dadidada 于 2020-6-16 10:24 编辑
解决了,我可以自己给自己设为最佳答案吗?
在运行框右键单击出现默认值,点开以后把默认代码页改成437美国就可以了 dadidada 发表于 2020-6-16 10:21
解决了,我可以自己给自己设为最佳答案吗?
在运行框右键单击出现默认值,点开以后把默认代码页改成437 ...
不行的 不过可以给别人设置:
在运行框右键单击出现默认值,点开以后把默认代码页改成437美国就可以了 dadidada 发表于 2020-6-16 10:21
解决了,我可以自己给自己设为最佳答案吗?
在运行框右键单击出现默认值,点开以后把默认代码页改成437 ...
我是改为437也没有用。就是不输出。与字体有关吧。系统原因。比如曾经有题目要输出笑脸,只好找了个答案。结果出来是正方形框框。无论如何也没有笑脸。
页:
[1]