📜  C |字串|问题6

📅  最后修改于: 2021-05-25 23:25:06             🧑  作者: Mango

#include
int main()
{
    char str[] = "GeeksQuiz";
    printf("%s %s %s\n", &str[5], &5[str], str+5);
    printf("%c %c %c\n", *(str+6), str[6], 6[str]);
    return 0;
}

(A)执行阶段错误
(B)编译器错误
(C) uiz uiz uiz
u
(D)测验测验
u答案: (D)
说明:程序没有错误。以下所有表达式表示同一件事
&str [5]
&5 [str]
str + 5
由于编译器在访问数组元素之前先将数组操作转换为指针,因此上述所有操作都将导致相同的地址。

同样,以下所有表达式表示同一件事。
*(str + 6)
str [6]
6 [str]

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。