目录: 标题| 题干| 答案| 搜索| 相关
问题

对于以下函数声明void fun(int array[4],int+ptr)


对于以下函数声明void fun(int array[4],int+ptr);以下叙述中正确的是( )。

  • Aarray,ptr都是指针变量
  • B调用fun函数时,实参的值将逐一复制给array
  • C调用fun函数时,array按值传送,ptr按地址传送
  • Darray是数组,ptr是指针,它们的性质不同
参考答案
参考解析:

voidfun(intarray[4],int4ptr);第一个参数虽然是数组类型,但是会退化为指针,并且形参数组的个数没有用。第二个参数是指针,因此实际上二个形参都是指针,传递的都是地址,而不是值。可知选项B、C、D错误。答案为A选项。

分类:其他
相关推荐

1、有如下程序段#include "stdio.h"void fun(int *

有如下程序段#include "stdio.h"void fun(int *a,int *b,int *c,int *d,int *e){ int i,j,k,m; for(i=0;i< *a;i++) for(j=0;j< *b;j++)  for(k=0;k<*c;k++) ...

2、有以下程序#include "stdio.h"void fun(int *a

有以下程序#include "stdio.h"void fun(int *a,int *b){ int c=20,d=20; *a=c/3; b=d/5;}main(){ int a=3,b=5; fun(&a,&b); printf("%d,%d\n",a,b);}程序的运行结果是A.6,5 B.5,6C.20,25 D.3,5A6,5 B5,6C20,25 D3,5

3、有如下程序段void fun(int *a, int *b){ int *k

有如下程序段void fun(int *a, int *b){ int *k; k=a; a=b; b=k;}main(){ int a=3, b=6, *x=&a, *y=&b; fun(x,y); printf("%d %d", a, b);} 程序运行后输出的结果是A.6 3 B.3 6 C.编译出错 D.0 0A6 3 B3 6 C编译出错 D0 0

4、有以下程序void fun(int a,int b,int c){ a=45

有以下程序void fun(int a,int b,int c){ a=456,b=567,c=678;}main(){ int x=10,y=20,z=30; fun(x,y,z); printf("%d,%d,%d\n",x,y,z);}输出结果是A.10,20,30 ...

5、有以下函数定义: void fun(int n,double x) {……}

有以下函数定义: void fun(int n,double x) {……} 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是Afun(int y,double m);Bk=fun(10,12.5);Cfun(x,n);Dvoid fun(n,x);

6、若有以下函数首部:int fun(double x[10],int*n)则下

若有以下函数首部:int fun(double x[10],int*n)则下面针对此函数的函数声明语句中正确的是( )。Aint fun(double,int);Bint fun(double木,int*);Cint mn(do...