问题 单项选择题

有以下程序:
# include <stdio.h>
# include <stdio.h>
void fun(int *p1, int *p2; int*s)
s=(int*) malloc(sizeof(int));
*s=*p1+*p2;
free(s);

main()
int a=1,b=40,*q=&a;
fun(&a,&b,q);
printf("%d\n",*q);

程序运行后的输出结果是( )。

A.42

B.0

C.1

D.41

答案

参考答案:C

解析:

Fun函数功能是新开辟内存空间存放a和b的地址,q的地址并没有变化,所以应该还是指向地址a。

单项选择题
单项选择题