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

admin2019-04-14  42

问题 有以下程序:
#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://jikaoti.com/ti/X8f0FFFM
0

最新回复(0)