有以下程序: #include #include void fun(int*pl,int*p2,int*s) { s=(int*)malloc(sizeof(int)); *s=*p1+*p2: free(s);

admin2018-02-02  16

问题 有以下程序:
  #include
  #include
  void fun(int*pl,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/aXxp777K
0

最新回复(0)