鱼C论坛

 找回密码
 立即注册
查看: 3446|回复: 2

EX4.9 EX10.1 char c = '\72';八进制

[复制链接]
发表于 2022-4-9 22:44:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 我爱橙 于 2022-6-10 15:25 编辑

若有说明语句:char c = '\72';则变量c( ).
a. 包含1个字符 √
b. 包含2个字符
c. 包含3个字符
d. 说明不合法,c的值不确定
#include <stdio.h>

int main()

{
char c='\72'; 

printf("%c",c);
return 0;
}

为什么输出是:

查表0011 1010        58        3A        :
0100 1000        72        48        H


char c; 声明它是一个 char ,只有 1个字符 的 内存空间
所以 不可能 包含2个字符,也不可能 包含3个字符.b和c可以排除了.
'\72' -- ,字符常量 通常 用单引号括起来,所以单引号是对的,没有疑问.
平时看到的 字符常量 有 'a','B','3','\0';'\n' ...,那么 '\72' 对不对呢
这里要记住,用反斜杠带数字,是 八进制数,八进制数 只能用到数字 0,1,2,3,4,5,6,7
如果出现 8,9 就不合法,现在 72 是 合法的.
另外,字符常量 最大占 1 个字节,数值不能超出 ASCII 码最大值.八进制数 072 显然没超出.所以 排除了 d.
答案 是 a.包含1个字符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-9 22:51:36 | 显示全部楼层
\72 表示的是 8 进制数 72 对应的字符,8 进制 72 为 10 进制 58,

十进制 58 对应的字符就是 “:”


                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-9 22:52:13 | 显示全部楼层
\ 后面是 8进制。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-7 08:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表