C语言中为什么putchar('3'),putchar(3+'0')就可以输出3,而putchar(3)就只输出一个空格?

 我来答
linnjing
2013-11-25 · TA获得超过2632个赞
知道大有可为答主
回答量:1230
采纳率:91%
帮助的人:520万
展开全部
严格说起来,putchar(3)并不是输出一个空格,而是输出了一个你看不到的一个控制字符,
如果你把这个输出转向输出到文件,然后以十六进制的方式打开文件,可以看到输出的就是3。
putchar('3')与putchar(3+'0')这两个结果完全一样,因为‘3’==3+‘0’,即调用putchar时的参数是一样的,所以输出结果当然是一样的,实际上,‘3’==3+’0‘==0x33。还是假设输出转向到文件,文件中的结果是十六进制的数字0x33,显示到屏幕上就是数字3.
小坏蛋宽guy
2013-11-25 · TA获得超过300个赞
知道小有建树答主
回答量:239
采纳率:66%
帮助的人:142万
展开全部
putchar的功能是输出一个字符,'3'是字符,3 + '0'(就是'3')也是字符,而3是数字,调用putchar(3)时会把数字3隐式转化为字符,你查ascii表就可以看出3号字符是一个什么东西了(ETX,正文结束的控制字符,不可显示)。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小菜呀小菜
2013-11-25 · TA获得超过256个赞
知道小有建树答主
回答量:267
采纳率:50%
帮助的人:152万
展开全部
'3'代表字符3非数字3,‘3’是与ASCII码对应的,而3+‘0’是0对应的的ASCII码加3,恰好是等于字符3的ASCII码(你应该知道字符是可以和数字相加减吧),而ASCII码3对应的字符是什么?你可要查查,因而
putchar('3')
putchar(3+'0')
都是输出3,而
putchar(3)输出空格
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-25
展开全部
putchar()是字符输出,‘3’是字符型,3是不是字符型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AAA好风光
2013-11-25
知道答主
回答量:15
采纳率:0%
帮助的人:4.2万
展开全部
它每次只能输出一个字符。例如:putchar('#');输出#;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式