📜  C |指针基础问题16

📅  最后修改于: 2021-05-26 03:18:56             🧑  作者: Mango

#include 
int main()
{
    int arr[] = {1, 2, 3, 4, 5};
    int *p = arr;
    ++*p;
    p += 2;
    printf("%d", *p);
    return 0;
}

(A) 2
(B) 3
(C) 4
(D)编译器错误答案: (B)
说明:表达式++ * p被评估为“ ++(* p)”。因此,它增加了数组第一个元素的值(不更改指针p)。

当p + = 2完成时,p更改为指向数组的第三个元素。
这个问题的测验

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