柠檬试题库
search
首页
计算机
公务员
驾照
关于
share
有以下程序: #include
#include
main() { int *a,*b,*c; a=b=c=(int *)malloc(sizeof(int)); *a=1;*b=2,*c=3; a=b; printf("%d,%d,%d\n",*a,*b,*c); } 程序运行后的输出结果是( )。
A.1,1,3
B.2,2,3
C.1,2,3
D.3,3,3
热度🔥1,167
参考答案:D
解析:
【解析】malloc函数动态分配一个整型的内存空间,然后把函数返回的地址用(int*)强制类型转换为整型指针,再把它赋给a,b,c,即让指针变量a,b,c都指向刚申请的内存空间。所以只有最后一个赋值语句*c=3的值保留在了该空间内,因为a,b,c三个指针变量均指向该空间,所以打印该空间内的数值为3。
复制题目向AI提问
content_copy
content_copy
扫码免费计算机二级刷题
2025年计算机等级考试题库
推荐
执行下列程序段后,输出结果是 n = 0 For i=1 To 3 For j=5 To 1 Step -1 n = n + 1 Next j, i Debug.Print n; j; i
下列排序方法中,最坏情况下时间复杂度最小的是
若有定义int x,y; 并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++) : (y++)中的条件表达式(x-y) 等价的是( )。
下列对Cisco Aironet 1100的SSID及其选项设置的描述中,错误的是()。
标签
二级C语言
空间
int
指针
malloc