选择题
有下列程序:
#include <stdio.h>
#include <stdlib.h>
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()函数,返回值指向不同的内存单元,不会存在内存冲突的问题,也就不会走错。
提交答案
关闭