访问数组

时间:2015-04-27 17:43:58

标签: c++ arrays

在招聘期间,我接受了几个问题的测试(多项选择),这是其中之一:

当您尝试编译并运行包含此代码片段的程序时会发生什么?

char str[] = "abc";
char c = str[3];
  • a)程序结果可能是意外的

  • b)程序不会编译

  • c)程序可能会遇到运行时错误

  • d)变量c将存储未知值

  • e)变量c将存储'\0'

1 个答案:

答案 0 :(得分:3)

答案是

E:变量c将存储'\ 0'

原因是:

char str[] = "abc"; 

完全等同于:

char str[] = {'a', 'b', 'c', '\0'};

因为编译器在声明字符串时放入\0

该数组有4个元素,编号为[0][3] 该数组的元素[3]的值为\0