选择题
有以下程序:
#include<stdio.h>
#include<stdlib.h>
int fun(int n)
{int *p;
p=(int*)malloc(sizeof(int));
*p=n; return *p;
}
main()
{int a;
a=fun(10); printf('%d\n',a+fun(10));
}
程序运行后的输出结果是______。
A、
0
B、
10
C、
20
D、
出错
【正确答案】
C
【答案解析】
malloc(sizeof(int))的作用是开辟一个长度为sizeof(int)的存储空间,并通过强制类型转换(int*)将此存储空间的地址赋给了一个整型的指针变量p。然后执行语句*p=n;使得*p的值为10,并通过return返回此值,即a的值为10。然后在主函数中输出a+fun(10)=10+10=20。所以选择C选项。
提交答案
关闭