选择题   有下列程序:
    #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));
    }
    程序的运行结果是______。
 
【正确答案】 C
【答案解析】本题考查指针与函数的调用。a+fun(10)相当于fun(10)+fun(10),故结果为20。两次调用fun()函数,返回值指向不同的内存单元,不会存在内存冲突的问题,也就不会走错。