char a = 赋整数值;cout<<a<<endl; 输出a时。

执行结果。都是一些没见过的符号。比如1是笑脸。12是男性图标。请问这是根据什么显示的结果。就是说,为什么要这样显示。12对应ascii码是FF。干嘛用男性那个符号显示。1... 执行结果。都是一些没见过的符号。比如1是笑脸。12是男性图标。请问这是根据什么显示的结果。就是说,为什么要这样显示。
12对应ascii码是FF。干嘛用 男性那个符号显示。1对应ascii码是SOH。干嘛用笑脸。
能给解释下嘛。谢谢。
展开
 我来答
lyhdez1
2012-03-19 · TA获得超过1942个赞
知道小有建树答主
回答量:687
采纳率:100%
帮助的人:848万
展开全部
首先你要知道什么是字符,什么是ascii码。字符说白了就是能够打印或者执行某种功能的计算机符号。比如字母'A'。但是他们在计算机的内存中存他们对应的数值,也就是所谓的ACII码了。
你这个程序实际上是给a一个ASCII码值,而打印出他们对应的字符。ASCII码和对应的字符有一张标准的ASCII码表,你可以去查查。就可以知道12(它本省就是ASCII码,所以你给它再查ASCII码是不对的)对应的字符是男性符号。其他也是同理
更多追问追答
追问
我想知道的是,从表里查不到。显示的符号
追答
ASCII共定义了128个字符,其中33个字符无法显示(这是以现今操作系统为依归,但在DOS模式下可显示出一些诸如笑脸、扑克牌花式等8-bit符号),且这33个字符多数都已是陈废的控制字符,控制字符的用途主要是用来操控已经处理过的文字,在33个字符之外的是95个可显示的字符,包含用键盘敲下空白键所产生的空白字符也算1个可显示字符(显示为空白)。

而你所列举的实际上是不可显示的控制字符,所以是查不到它的具体显示的(而在dos下有显示,所以我们要一个个试,才可以知道)。

这是我从网上找的资料,算是共同学习吧。
xoalyg
2012-03-19 · TA获得超过4178个赞
知道大有可为答主
回答量:2356
采纳率:100%
帮助的人:2392万
展开全部
因为a是char类型,所以cout输出a时,必定当作字符输出。这些字符的值就是ASCII码值。ASCII分为控制码(不可显示,值在0 ~31范围内)、可显示码(如a,G,1,+,?,),],值在32 ~127范围内)等,如果赋给a的值是控制码,则会显示未定义符号(因系统不同而不同)。
12对应的是ASCII码的控制字符^L,名称是FF,功能是打印机馈给,意思是,打印机机头回到行起始位置。
追问
char a = 12; cout<<a;
你说显示的结果,是根据什么显示的。
你的意思显示的结果。与A没联系。只是随便显示了一个符号?每个系统都有一个符号表。随便显示?
追答
在DOS和Windows系统中,显示非显示字符(控制字符)是未定义的,因此为何显示笑脸等奇怪形状无从考证!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式