|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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个字符 |
|