首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明、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
50
问题
阅读以下说明、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
程序员下午应用技术考试
软考初级
相关试题推荐
将四个元素a,b,c,d分成非空的两组,不计组内顺序和组间顺序,共有()种分组方法。
下列选项中,属于网络操作系统的是(37)。
在浏览网页时,当鼠标指针移至某些文字或某些图片时,会出现手形状,通常是由于网页在这个地方做了(17)。
WindowsXP中,被删除的文件默认存放在()中,需要时还可以进行恢复。
图文混排是Word的特色功能之一,下列叙述中,不正确的是(46)。
电子商务有多种模式。()模式是个人消费者从在线商家处购买商品或服务。
据某地区统计,今年中小学生中肥胖学生约占10%,而且,肥胖学生人数正在以8%的速度增长。假设近年中小学生的总量变化不大,据此我们可以推算出,明年该地区中小学生中肥胖学生的比例约为(64)。
某机构准备发布中国互联网发展年度报告。报告分四个方面:全网概况、访问特征、渠道分析和行业视角。用户24小时上网时间分布应属于()方面的内容。
编译程序的作用是将高级程序语言源程序翻译为(4)。
随机试题
关于卵巢的功能下列哪项错误:
下列关于药物注射吸收的叙述中,正确的是
下面四个条件,其中()是不属于邮政局、所选址所必须要求的。
根据《建设工程工程量清单计价规范》,投标人在投标报价时,应完全承担的风险有()。
甲、乙两公司的住所地分别位于北京和海口。甲向乙购买一批海南产香蕉,3个月后交货。但合同对于履行地点和价款均无明确约定,双方也未能就有关内容达成补充协议,依照合同其他条款及交易习惯也无法确定。根据合同法律制度的规定,下列关于合同履行价格的表述中,正确的是(
下列哪一项不是戒严的执行机构?()
文艺复兴前欧洲绘画中的圣母神态安详神圣。而在米开朗基罗的《哀悼基督》中的圣母是容貌端庄的母亲。她的美是直观的,她的悲哀也是深沉的,这种文化反映了()。
A、12B、11C、8D、6D(5+4)÷(1+2)×2=6,(8+7)÷(2+3)×2=6,(11+10)÷(3+4)×2=(6)。
经济发展速度、效益、结构和质量是辩证的统一,因为
嵌入式系统广泛使用一种专用于数字信号处理的微处理器,它能显著提高声音、图像和视频等数字信号的处理效率,这种处理器的英文缩写名是【41】,其特点之一是指令系统增加了SIMD类型的一些特殊指令,SIMD表示【42】。
最新回复
(
0
)