在c++字符常量中,为什么'\73'表示';','\x5A'表示'Z'呢? 求详解,谢谢啊

 我来答
金色潜鸟
2013-01-14 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5688万
展开全部
#include <stdio.h>
#include <stdlib.h>
main()
{
char a;
a = '\73'; // 8进制
printf("%c -- %o %d %x\n",a,a,a,a);
a = '\x5a'; //16进制
printf("%c -- %o %d %x\n",a,a,a,a);
return 0;
}

通过输出格式可以转换。
%c %o %d %x -- 分别是 字符,8进,10进,16进
=====
输出
; -- 73 59 3b
Z -- 132 90 5a
追问
谢谢大哥给的这个程式,能详细的解释下你的这个程式么?我提的那个问题我已经明白了,可是不太懂你的这个程式。。。谢谢哈,我自学新手,实在懂得少,多多担待啊
追答
char a;  的a实际上是1字节整型数,数值等于ASCII码值。
按 %c 格式输出就是对应的 字符。
既然是 1字节整型数,
就可以 用 %o 格式 按 八进制 输出a的 八进制数值。
就可以 用 %d 格式 按 10进制 输出a 的10进制数值。
就可以 用 %x 格式 按 16进制 输出a的 16进制数值。
这些格式 是函数 printf(), fprintf() 规定的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式