在招聘期间,我接受了几个问题的测试(多项选择),这是其中之一:
当您尝试编译并运行包含此代码片段的程序时会发生什么?
char str[] = "abc";
char c = str[3];
a)程序结果可能是意外的
b)程序不会编译
c)程序可能会遇到运行时错误
d)变量c
将存储未知值
e)变量c
将存储'\0'
答案 0 :(得分:3)
答案是
E:变量c将存储'\ 0'
原因是:
char str[] = "abc";
完全等同于:
char str[] = {'a', 'b', 'c', '\0'};
因为编译器在声明字符串时放入\0
。
该数组有4个元素,编号为[0]
到[3]
该数组的元素[3]
的值为\0
。