
需要详解ASCⅡ表,特别大于127那些要怎么输出在vc++6.0中
在编程中#include"stdafx.h"voidmain(){intc1,c2;c1=300;c2=400;printf("%c%c\n",c1,c2);printf...
在编程中#include "stdafx.h"
void main()
{
int c1,c2;
c1=300;c2=400;
printf("% c %c\n",c1,c2);
printf("%d,%d\n",c1,c2);
}
但是输出的是:, ?
300,400
求解为什么会有,与?出现 (详解啊) 展开
void main()
{
int c1,c2;
c1=300;c2=400;
printf("% c %c\n",c1,c2);
printf("%d,%d\n",c1,c2);
}
但是输出的是:, ?
300,400
求解为什么会有,与?出现 (详解啊) 展开
2个回答
展开全部
ascii码是char型的,就一个字节
300=0x12c
400=0x190
printf("% c %c\n",c1,c2);时,把高位截去,就是输出了0x2c和0x90的ascii
300=0x12c
400=0x190
printf("% c %c\n",c1,c2);时,把高位截去,就是输出了0x2c和0x90的ascii
追问
高位,啥来的?0*2c和0x90怎么查不了ASCⅡ表,我不会啊??可以详细点么
追答
int 在内存里占4字节(如果你是在电脑上运行)取值范围0~4294967295
char在内存里占1字节,取值范围0~256
做int转char类型转换的时候高位自动被截去了,只留低位
比如300=0x0000012c 赋值给char 就是0x2c
比如400=0x00000190 赋值给char 就是0x90
你查一下表就行了,查表就是看你当前变量的值(10进制 或16进制)对应的符号
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询