首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明、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
61
问题
阅读以下说明、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://www.kaotiyun.com/show/wBjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
计算机网络中,防火墙的功能不包括________________。
纸张与()是使用喷墨打印机所需的消耗品。
数据分析经常需要把复杂的数据分组,并选取代表,将大量数据压缩或合并得到一个较小的数据集。这个过程称为()。
企业的数据资产不包括()。
在Windows7中,磁盘文件类型可以根据______来识别。
图文混排是Word的特色功能之一,下列叙述中,不正确的是(46)。
在Windows7中,若删除桌面上某个应用程序的快捷方式图标,则(31)。
在Excel中,下列符号属于比较运算符的是(43)。
在大型分布式信息系统中,为提高信息处理效率,减少网络拥堵,信息存储的原则是:数据应尽量(66)________________。
随机试题
局限前壁心肌梗死特征性心电图改变见于()
患者隋某,胸膈痞闷,脘腹胀痛,嗳腐吞酸,恶心呕吐,饮食不消,脉弦滑。治宜选用()
[2014年,第104题]在计算机网络中,常将负责全网络信息处理的设备和软件称为()。
一平面简谐波的波动方程为y=0.01cos10π(25t—x)(SI),则在t=0.1s时刻,x=2m处质元的振动位移是()。
资料一:假定A、B、C三公司共同投资组成ABC有限责任公司。按ABC有限公司的章程规定,注册资本为900万元,A、B、C三方各占三分之一的股份。假定A公司以厂房投资,该厂房原值500万元,已提折旧300万元,投资各方确认的价值为300万元(同公允
下列关于营业税政策陈述正确的是()。
某公司计划对某一项目进行投资,投资额为300万元,期限为5年,每年净现金流量分别为150万元、200万元、200万元、100万元、200万元。假设资本成本率为10%,该项目的净现金流量及复利现值系数如下表所示。根据以上资料,回答下列问题:若
在为杂乱无章的环境与紧张节奏的生活所累的今天,人们对富于人性的设计是迫切需要的。注重人性化的公共设施更为人们所称道。那么什么是人性化设计呢?人性化设计即在设计产品的过程中以人为本,了解人的需求,设计出尊重人、关怀人的产品。公共设施是当地居民的活动设施,具有
Stratford-on-Avon,asweallknow,hasonlyoneindustry—WilliamShakespeare—buttherearetwodistinctlyseparateandincreasingl
A、Itcostsmuchless.B、Itsavestime.C、Mostoldpeoplelikeit.D、Mostyoungpeoplelikeit.D信息辨认题。对话中,女士询问男士市场调查的结果,男士回答说,大多
最新回复
(
0
)