首页 > 试题广场 >

以下代码的输出结果是?

[单选题]
以下代码的输出结果是?
#include<stdio.h>
int main() { 
    char str[] = "S\065AB"; 
    printf("\n%d", sizeof(str)); 
    return 0;
}
  • 7
  • 6
  • 5
  • 4
推荐
C ,这题考的真是很细啊...    转义字符\ddd表示8进制,  是一个数 ,所以就有 4个字符 + '\0' 即5
编辑于 2016-01-14 16:32:29 回复(11)
C  "S\065AB"字符串中包含S,\065(八进制数),A,B以及结束符\0
发表于 2015-04-15 09:50:05 回复(5)
sizeof计算的是变量整体占用的内存大小,包括了字符串末尾的结束符“\0”,再加上转义字符,所以是5;
注意不要和strlen记混了, strlen是遇到结束符则停止,所以 strlen出来的结果是不包含\0的。
发表于 2016-01-13 22:16:44 回复(0)
\这个的后面会取3个数字作为转义的代码。比如\0123456

实际应该分为两部分 \012 和3456 ,而且\012这个中的012是八进制, 如果是\2413rty就分为\241和3rty所以\的后面是要取3个数字的,不足三个的话有几个数字就转义几个数字,\02abc,就分成\02 和abc

发表于 2018-01-17 09:28:17 回复(0)
我还以为\0是空字符呢。。。。
发表于 2015-09-19 20:14:22 回复(2)
5个

S    \065   A   B   null
发表于 2015-04-13 18:42:19 回复(0)
\ddd,其中d为0~7的八进制数,可以有1~3位,表示对应一个ASCII字符
发表于 2017-02-06 13:59:36 回复(0)
\ddd指的是1到3位八进制数所代表的字符;0~7 大于这个范围字符结束是其他内容 \xhh指的是1到2位十六进制数所代表的字符; 0~f 比如:"\101"代表ASC码(八进制数)为101的字符'A'。八进制101相当于十进制65. "\x2A"代表十六进制数2A(即十进制数42)即代表字符"*".
发表于 2017-04-16 18:53:32 回复(0)
擦,没注意,但是我还要提醒没错的同学并不是\ddd而是取8进制的部分,要是\128只会区12!!!
编辑于 2016-11-21 11:29:51 回复(4)
考察转义字符以及字符串的结束符\0
发表于 2021-01-14 19:18:31 回复(0)
\065他是一个字符,但值得注意的是,sizeof求数组大小时要包含结尾的'\0'
发表于 2015-08-27 13:24:45 回复(0)
065 (八进制)---> 53(10进制),对应ASCII码的5。
发表于 2021-09-15 07:30:42 回复(0)
字符串:"S\065AB",其中S、A和B各占1个字符,这里一共占3个字符,\065表示八进制数字,转为10进制是53,占一个字符,sizeof运算符计算字符串长度时会连字符串结尾的'\0'结束符算上,所以结果是5。
发表于 2020-10-23 17:12:20 回复(0)
\065表示一个8 进制数,若是换成\085,答案就是7
发表于 2019-07-18 11:41:13 回复(0)
sizeof计算的是变量整体占用的内存大小,包括了字符串末尾的结束符“\0”,再加上转义字符,所以是5;
注意不要和strlen记混了, strlen是遇到结束符则停止,所以 strlen出来的结果是不包含\0的。
发表于 2017-09-07 09:30:54 回复(0)
\0开头转义字符为八进制吗
发表于 2023-08-02 09:51:08 回复(0)
s 、\065、 A 、B 、\0一共这五个

发表于 2022-04-04 09:08:22 回复(0)
C语言中字符型常量所表示的值是int型所能包含的值。我们可以用ASCII表达式来表示一个字符型常量,或者用单引号内加反斜杠表示转义字符。
'A', '\x2f', '\013';
其中:\x表示后面的字符是十六进制数,\0表示后面的字符是八进制数。例如十进制的17用十六进制表示就是
‘\x11’,用八进制表示就是‘\021’;
上面我们见到的\x,\n,\a等等都是叫转义字符,它告诉编译器需要用特殊的方式进行处理。 [1] 

发表于 2022-05-31 13:06:05 回复(0)
“S/065AB”其中包含四个字符,分别是:S,/065(八进制), A,B。sizeof()计算长度时会包含字符串末尾的/0因此,长度为4+1=5。
发表于 2022-04-12 16:10:59 回复(0)
谁这么写代码啊,就算能跑维护起来也必删啊
发表于 2021-11-22 00:45:41 回复(0)
\065是\ddd 为一个八进制 算作一个字符 那么一共有S A B \0 \ddd 这5个字符
发表于 2021-03-10 19:10:19 回复(0)