有以下程序: #include #include main() {int*a,*b,*c; a=b=c=(int*)malloc(sizeof(int)); *aa=1;*b=2,*c=3; a=b;

admin2020-07-28  15

问题 有以下程序:
    #include
    #include
    main()
    {int*a,*b,*c;
    a=b=c=(int*)malloc(sizeof(int));
    *aa=1;*b=2,*c=3;
    a=b;
    prinff(“%d,%d,%d\n”,*a,*b,*c);
    }
程序运行后的输出结果是(    )。

选项 A、1,1,3
B、2,2,3
C、1,2,3
D、3,3,3

答案D

解析 malloc函数动态分配一个整型的内存空间,然后把函数返回的地址用(int:*c)强制类型转换为整型指针,再把它赋给a,b,c,即让指针变量a,b,c都指向刚申请的内存空间。所以只有最后一个赋值语句*c=3的值保留在了该空间内,因为a、b、c三个指针变量均指向该空间,所以打印该空间内的数值为3。
转载请注明原文地址:https://kaotiyun.com/show/PT3p777K
0

相关试题推荐
随机试题
最新回复(0)