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

admin2019-07-25  12

问题 有以下程序:
#include<stdio.h>
#include<malloc.h>
void fun(int*p1,int*p2,int*s)
{
s=(int*)malloc(sizeof(int));
*s=*p1+*p2:
free(s);
}
void 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。
转载请注明原文地址:https://kaotiyun.com/show/sOID777K
0

最新回复(0)