📜  C |高级指针|问题10

📅  最后修改于: 2021-06-28 19:16:45             🧑  作者: Mango

以下程序的输出

#include 
int fun(int arr[]) {
   arr = arr+1; 
   printf("%d ", arr[0]);
}
int main(void) {
   int arr[2] = {10, 20};
   fun(arr);
   printf("%d", arr[0]);
   return 0;
}

(A)编译器错误
(乙) 20 10
(C) 20 20
(丁) 10 10答案: (B)
说明:在C中,数组参数被视为指针(有关详细信息,请参见https://www.geeksforgeeks.org/why-c-treats-array-parameters-as-pointers/)。

因此变量arr在main()中表示一个数组,但在fun()中表示一个指针。
这个问题的测验

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