首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序 #include <stdio.h> #include <stdlib.h> void fun(int *p1, int *s) { int *t; t=(int *)malloc(2 * siz
有以下程序 #include <stdio.h> #include <stdlib.h> void fun(int *p1, int *s) { int *t; t=(int *)malloc(2 * siz
admin
2020-04-18
42
问题
有以下程序
#include <stdio.h>
#include <stdlib.h>
void fun(int *p1, int *s)
{ int *t;
t=(int *)malloc(2 * sizeof(int));
*t=*p1 + *p1++;
*(t+1)=*p1+ *p1;
s=t;
}
main()
{
int a[2]={1,2},b[2]={0};
fun(a,b);
printf("%d,%d\n",b[0],b[1]);
}
程序运行后的输出结果是
选项
A、2,6
B、0,0
C、2,4
D、1,2
答案
B
解析
malloc函数的原型为:malloc(size);,函数的作用是在内存的动态存储区分配一个长度为size的连续空间。程序执行过程为:定义数组a={1,2},b={0,0},b,调用函数fun,将数组地址传入函数,指针p1指向a,s指向b,定义指针t并使其指向开辟的两个整型内存,为第一个内存赋值为数组a第一个元素的2倍,即2,然后指针p1指向a数组第二个元素,为第二个内存赋值为数组a第二个元素的2倍,即4,最后使指针s指向动态开辟的两个内存的首地址。整个过程中数组b没有发生变化,依次输出b中元素为0,0,B选项正确。
转载请注明原文地址:https://kaotiyun.com/show/a3Cp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序#include#includevoidfun(char*w,intm){chars,*p1,*p2;p1=w;p2=w+m-1;while(p1
以下叙述中正确的是
以下叙述中错误的是
设文件指针fp已定义,执行语句fp=fopen("file","w");后,以下针对文本文件file操作叙述的选项中正确的是
设有定义:intx,y,z;,且各变量已赋正整数值,则以下能正确表示代数式“”的C语言表达式是()。
数据库设计中反映用户对数据要求的模式是()。【10年9月】
有C语言表达式2*3+4+15%3,关于其执行顺序,以下叙述正确的是()。
给定程序中,函数fun的作用是:不断从终端读入整数,由变量a统计大于0的个数,用变量c来统计小于0的个数,当输入0时结束输入,并通过形参pa和pb把统计的数据传回主函数进行输出。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果
下面属于软件设计阶段产生的文档是()。
随机试题
膀胱癌镜下类型有
关于输尿管的叙述,错误的是
侵袭性葡萄胎与葡萄胎病理的主要区别点是
下列疾病中,不属于心身疾病的是()
()年,中国成为世界第一货物贸易大国,中国货物进出口总额为4.16万亿美元。
幼儿教育的中心任务是()。
贪污罪是指从事公务的工作人员利用非职务之便,侵犯公共财产的行为。()
下列关于三国两晋南北朝时期司法制度的变化,说法正确的是()
交换积分次序∫1edx∫0lnxf(x,y)dy为()
因为χ→0+时,[*]所以[*]
最新回复
(
0
)