📜  C |存储类和类型限定符|问题19

📅  最后修改于: 2021-05-29 12:28:15             🧑  作者: Mango

#include 
int main()
{
    int x = 5;
    int * const ptr = &x;
    ++(*ptr);
    printf("%d", x);
    
    return 0;
}

(A)编译器错误
(B)运行时错误
(C) 6
(D) 5答案: (C)
说明:请参阅以下声明,以了解常量指针和指向常量的指针之间的区别。
int * const ptr —> ptr是常量指针。您可以在指针p指向的位置更改值,但是不能更改p指向其他位置。
int const * ptr —> ptr是指向常量的指针。您可以更改ptr以指向其他变量。但是您不能更改ptr指向的值。
因此上面的程序运行良好,因为我们有一个恒定的指针,并且我们没有更改ptr指向任何其他位置。我们只是在提升ptr指出的价值。这个问题的测验

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