首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明、C函数和问题,将解答写入答题纸的对应栏内。 【说明1】 函数test_fl(int m,im n)对整数m、n进行某种运算后返回一个整数值。 【c函数1】 int test_f1 (int m,int n) { int k; k=m>
阅读以下说明、C函数和问题,将解答写入答题纸的对应栏内。 【说明1】 函数test_fl(int m,im n)对整数m、n进行某种运算后返回一个整数值。 【c函数1】 int test_f1 (int m,int n) { int k; k=m>
admin
2010-04-12
33
问题
阅读以下说明、C函数和问题,将解答写入答题纸的对应栏内。
【说明1】
函数test_fl(int m,im n)对整数m、n进行某种运算后返回一个整数值。
【c函数1】
int test_f1 (int m,int n)
{ int k;
k=m>n?m:n;
for(; (k%m! =O) I I (k%n! =0);k++);
return k;
)
【问题1】(5分)(1)请写出发生函数调用test_fl(9,6)时,函数的返回值;(2)请说明函数test_f1的功能。
【说明2】
设在某c系统中为每个字符分配1个字节,为每个指针分配4个字节,sizeof(x)计算为x分配的字节数。
函数test_12Q用于测试并输出该c系统为某些数据分配的字节数。
【c函数2】
void test_f2()
{ char str[] =“NewWorld”; char*p=str; char i=‘\0’; VOid*ptr=malloc(50);
printf(”%d\t”,sizeof(str));printf(“%d\n”,sizeof(p)),
printf(”%d\t”,sizeof(i)); printf(”%d\n”,sizeof(ptr));
}
【问题2】(4分)
请写出函数test_f2()的运行结果。
【说明3】
函数test_f3(char S[])的功能是:将给定字符串S中的所有空格字符删除后形成的串保存在字符数组tstr中(串S的内容不变),并返回结果串的首地址。
【C函数3】
char*test_f3(const char s[])( char tstr[50]=(‘\0’); unslgned int i,k=0;
for(i=0;i(strlen(s);i++)
if(s
!=‘’)tstr[k++]=s
;
return tStr ;
)
【问题3】(6分)
函数test_f3()对返回值的处理有缺陷,请指出该缺陷并说明修改方法。
选项
答案
问题l:(1)18 (2)求m和n的最小公倍数 问题2: 9 4 1 4 问题3: 局部数组存放字符串作为函数的返回值是不可取的。应使用malloc {}动态分配函数来进行分配空间,存储字符串结果,返回其首指针。
解析
问题l:
阅读代码,我们可以看出k在的三行取得的是m和n中的最大值,for循环的循环主体为空,可是却要满足“(k%m!=O)I I(k%n!=0)”的条件才能退出循环,即要求k既是m的倍数也是n的倍数,而且k是通过自增得到的,即遇到第一个满足条件的值就立即退出循环返回k值,所以k是m和n的最小公倍数。调用test_f1(9,6)时,返回9和6的最小公倍数18。
问题2:
9 4
1 4
str是char型数组,sizeof(str)球的是整个数组的长度,数组中总共保存了8个字符和1个结束符‘\O’,所以长度为9;p是char-型的指针,sizeof(p)求的是指针的长度,而不是p所指向的字符串的长度,指针的长度是固定的4个字节;i是char型的字符,系统为每个字符分配一个字节,故长度为1;ptr是类型为空的指针,虽然类型为空但只能说明ptr所指向的对象的类型,ptr自身是一个指针,是有固定长度4的。
问题3:
tstr是一个char型数组,但它是在函数test_f3中定义的局部变量,在函数调用结束时内存空间就会被释放掉,返回的指针可能为空,也有可能是乱码,正确的修改方法就是使用malloc函数来动态地申请内存,然后返回这片内存的首指针,这样就会避免函数返回时内存被释放掉。另外需要注意的是,本大题在一开始就指明是C函数,所以这里不可以使用new来动态申请内存。
转载请注明原文地址:https://kaotiyun.com/show/wBjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
目前最常见的用户界面是________________。
________________是按照科学的城市发展理念,利用新一代信息技术,通过人、物、城市功能系统之间的无缝连接与协同联动,实现自感知、自适应、自优化,形成安全、便捷、高效、绿色的城市形态。
某地区去年粮食产量资料如下表:根据该表可以推算出,该地区去年薯类的产量为()万吨。
某企业甲乙两个部门招聘职工中,男女应聘人数和录用人数情况如下表:从上表看出,各部门女性录用率都大于男性录用率。从该企业合计来看,()。
小王在Excel中录入某企业各部门的生产经营数据,录入完成后发现报表略超一页,为在一页中完整打印,以下______做法正确。
下列不属于著作权保护的是______。
在计算机网络的数据通信中广泛使用的校验方式是(15)。
下列选项中,不能收发电子邮件的软件是______。
在Excel中,A1:C3区域中各单元格的值都为10,如果在D1单元格中输入公式“=SUM(A1,C3)”,则D1单元格中显示的值为(58)。
在Word2007中要建立一个表格,方法是()。
随机试题
男,64岁,前胸部肿胀疼痛3月余,质硬,局部压痛,无发热。血常规检查示贫血。为进一步明确诊断,还应选择或提供下列何种检查
患者,女性,45岁,症见带下色白,质稀无臭,面色苍白,倦怠便溏,舌淡苔白,脉缓。治宜选用
张某、王某和刘某签订合伙协议,设立合伙企业,约定张某于企业成立之日起3个月内出资10万元,企业成立后,张某拒绝出资,以下说法正确的是:()
24号元素Cr的基态原子价层电子排布式是:
在建设工程投资控制的任务中,不属工料测量师在立约前的任务的是( )。
在个人住房贷款中,保证担保的法律风险表现为()。
战略联盟的每个成员企业都拥有自己的特定优势,通过相互之间的扬长避短。可有效降低交易成本,产生“1+1>2”的协同效应。同时,每个成员企业都能获得与其在联盟中的地位和对联盟的贡献相对应的收益。这种收益仅依靠企业自身的力量将难以获取。这体现的是联盟企业之间协作
(2014年)2013年3月18日,甲机械公司与乙融资租赁公司接洽融资租赁某型号数控机床事宜,同年4月1日,乙按照甲的要求与丙精密设备公司签订了购买1台某型号数控机床的买卖合同。丁以乙的保证人身份在该买卖合同上签字,但合同中并没有保证条款,丙和丁亦未另行签
我国的小学产生于()时期。
SDH是________网络的略写。
最新回复
(
0
)