二级c语言题目

来源:百度知道 编辑:UC知道 时间:2024/06/28 16:53:45
若有以下函数首部:
int fun (double x[10],int *n)
则以下针对此函数的函数声明语句中正确的是
A int fun(double x,int *n);
B int fun(double ,int );
C int fun(double *x,int n);
D int fun(double *,int *);

答案是D。
请教高人的详细思路。尤其是关于数组和指针的知识。万分感谢~~~

数组和指针在一些地方是相通的。
如有 int a[10];
int *p;
p=a;
a[5] <==> p+5
故而 在题目中,本应是 int fun(double x[],int *n);
可替换为 int fun(double *x,int *n);
简化后,便为 int fun(double *,int *);

D
严格说 D也不完美
int fun(double (*)[10],int *);

D,数组在子程序中其实是按首地址取指针处理

怎么都被回答掉啦,不好玩