在c++字符常量中,为什么'\73'表示';','\x5A'表示'Z'呢? 求详解,谢谢啊
展开全部
#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
#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() 规定的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询