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

admin2012-12-19  19

问题 有以下程序:
    #include
    #include
    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。
转载请注明原文地址:https://kaotiyun.com/show/DcPp777K
0

最新回复(0)