数组长度问题求教
第六问这个长度该怎么判断还有这里后面的斜杠代表啥含义呢 数组 a 的长度是 12,没有问题这类问题你写一写代码就知道了
你说选项里面没有 12 ?
我问你,这个字母 a 的前面有没有空格?
很明显有个空格,但是前面的 引号是中文的,所以那不是空格
同样 1 的前面 \ 的 前面都不是空格
那么 12 - 3,选 d
如果是我,我不选 a b c d,我直接在选项的位置写一个 12,看看阅卷老师有什么话说
#include <stdio.h>
int main(void) {
char a[] = " ab' 1' \\\1278";
printf("a: %lu\n", sizeof(a));
return 0;
}
a: 12
本帖最后由 jhq999 于 2021-10-15 17:13 编辑
9个,字符串长度是8+'\0'就是9,字符串最后的字符是'8',如果有空格就当我没说{:5_107:}
#include <stdio.h>
int main(void) {
char a[] = "ab'1'\\\1278";
printf("a: %lu\n", sizeof(a));
return 0;
}
或者写一个 代码无法通过编译 也行
^_^ 本帖最后由 傻眼貓咪 于 2021-10-15 17:17 编辑
长度:9
索引位置 0 1 2 3 4 5 6 7 8
值 a b ' 1 ' \ W 8 NULL
我的理解是,C 语言会自动将 \ 后面三位数变成八进制转义,如:
八进制:\127
十进制:87
ASCII编码87:W
抱歉,我太久没有动 C 语言了,我的理解有错吗? 傻眼貓咪 发表于 2021-10-15 17:16
我的理解是,C 语言会自动将 \ 后面三位数变成八进制转义,如:
八进制:\127
没有 7楼,刚才我打错字,前面还有一个 a (已修改) 傻眼貓咪 发表于 2021-10-15 17:10
长度:9
谢谢大佬{:5_109:} 人造人 发表于 2021-10-15 17:11
谢谢大佬{:5_109:} 本帖最后由 wyz20010429 于 2021-10-16 22:46 编辑
0x00F8F7A020 61 62 27
0x00F8F7A420 31 27 20
0x00F8F7A85c 57 38 00
我调试了一下,确实是12个字节,发不了图片,只能这样复制粘粘了 直接那这张图怼老师,有图有真相,理论有个jb用{:10_279:}
页:
[1]