有下列程序: #include #include int fun(int n) { int * p; p=(int*)malloc(sizeof(int)); *p=n; return *P: }

admin2021-06-10  4

问题 有下列程序:
  #include  
  #include  
  int fun(int n)
  {    int    * p;
     p=(int*)malloc(sizeof(int));
     *p=n;  return  *P:
}
void main()
{  int a;
  a=fun(10);printf("%d\n",a+fun(10));
}
程序的运行结果是(    )。

选项 A、0
B、10
C、20
D、出错

答案C

解析 本题考查指针与函数的调用。a+fun(10)相当于fun(10)+fun(10),故结果为20。两次调用fun()函数,返回值指向不同的内存单元,不会存在内存冲突的问题,也就不会走错。
转载请注明原文地址:https://kaotiyun.com/show/srfp777K
0

最新回复(0)