以下程序的输出
#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基础课程》。