首页 > 试题广场 >

以下不正确的定义语句是( )。

[单选题]
以下不正确的定义语句是(   )。
  • double x[5] = {2.0, 4.0, 6.0, 8.0, 10.0};
  • char c2[] = {'\x10', '\xa', '\8'};
  • char c1[] = {'1','2','3','4','5'};
  • int y[5+3]={0, 1, 3, 5, 7, 9};
\ddd
1到3位八进制数所代表的任意字符
三位八进制
\xhh
1到2位十六进制所代表的任意字符
十六进制
转义字符八进制数字是0-7,没有8
发表于 2019-05-22 10:33:21 回复(0)
单纯的反斜杠默认为八进制,最多到7
发表于 2020-08-20 22:08:39 回复(0)
在vs2015上都能通过,题有问题不严谨.,.
发表于 2017-08-04 10:26:10 回复(3)
b选项\8是指8进制数应该不能超过8,仅供参考
发表于 2017-09-28 00:09:32 回复(3)
<p>反斜杠表示八进制 不能出现8</p>
发表于 2020-10-30 11:48:22 回复(0)
不存在\8的转义字符
发表于 2020-08-06 23:14:36 回复(0)
B项在vs2013上测试是没问题的 在linux g++编译报错
编辑于 2017-07-26 09:49:23 回复(0)

这段代码是C语言中的一个字符数组c2的初始化。它使用了不同的转义序列来表示值:

  1. \x10:这代表一个十六进制值。\x10等于十进制中的16。
  2. \xa:这也代表一个十六进制值。\xa等于十进制中的10。
  3. \8:这里有问题。在C中,以反斜杠开始,后跟数字的转义序列被解释为八进制值。但是,八进制值的范围是0到7,所以"8"不是一个有效的八进制数字。因此,这部分的初始化会导致编译错误。
发表于 2023-08-18 11:18:22 回复(0)
\xhh,表示asc码未十六进制数hh所代表字符。 \xddd,表示asc码未八进制数hh所代表字符。
发表于 2021-03-11 23:46:28 回复(1)
在VC++6.0上也都可以通过
发表于 2017-08-17 16:51:34 回复(0)
\hhh,八进制,最多\7 \xhh,16进制,\ 1 2 3 4 5 6 7 8 9 a b c d e f
发表于 2022-08-30 21:42:27 回复(0)
单纯的反斜杠默认为八进制,为0-7,不会出现8
发表于 2021-04-12 09:08:13 回复(0)
转义字符\与\x的作用,数组定义的规范
发表于 2025-06-13 09:00:04 回复(0)
发表于 2022-12-01 14:04:04 回复(1)
\x0a尽供参考
发表于 2019-03-14 12:21:41 回复(0)
8进制
发表于 2017-10-25 20:12:31 回复(0)
'\8'有问题:把谁转换8进制数,可能编译器会摸不着头脑。
发表于 2017-10-15 10:38:12 回复(0)

在vs2013上面都可以,利用排除法只有B最有问题了。

发表于 2017-09-01 10:42:34 回复(0)
double x[] = {2.0, 4.0, 6.0, 8.0, 10.0};

int y[]={0, 1, 3, 5, 7, 9};

java中AD也是错的,仅C正确

编辑于 2017-07-27 11:11:26 回复(1)