C |高级指针|问题10

以下程序的输出

null

#include <stdio.h>
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) 编译错误 (B) 20 10 (C) 20 20 (D) 10 10 答复: (B) 说明: 在C语言中,数组参数被视为指针(参见https://www.geeksforgeeks.org/why-c-treats-array-parameters-as-pointers/详细信息)。

所以变量 在main()中表示数组,但在fun()中表示指针。 这个问题的小测验

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享