首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明、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
52
问题
阅读以下说明、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
程序员下午应用技术考试
软考初级
相关试题推荐
数据________________是将数据以图形图像形式表示,并利用数据分析工具发现其中未知信息的处理过程。
某单位的统计报表比较多,采用表号(报表的编号)的好处是______。
在浏览网页时,当鼠标指针移至某些文字或某些图片时,会出现手形状,通常是由于网页在这个地方做了(17)。
(1)是固化在主板ROM内的程序,为计算机提供最底层、最直接的硬件访问和控制。
下列关于计算机病毒的说法中错误的是_______。
《信息技术汉字字型要求和检测方法》(GB/T11460一一2009)属于______。
下列操作中______可以随意改变窗口大小。
______不属于企业信息系统存在的问题。
计算机运行一段时间后性能一般会有所下降,为此需要用优化工具对系统进行优化。系统优化的工作不包括()。
以下定性的分类变量中,(9)属于有序变量(能排序)。
随机试题
简述增进演示效果的措施。
拉动经济增长的三个方面有:消费、投资和()
A.甲状腺激B.甲状旁腺激素C.生长激素D.胰岛素E.雄激素由胆固醇作为前体物质合成的是
月经量多,色淡质稀,神疲肢软,舌淡苔薄,脉弱无力。证属()
患者,女性,48岁。晚餐后洗衣时突然出现剧烈头痛,恶心、喷射状呕吐,随后意识模糊,被家人送到医院,急行CT检查,图像上呈高密度影,脑膜刺激征阳性,元肢体瘫痪,既往体健。本病最常见的病因为
一般在多元线性回归分析中遇到的问题主要有()。Ⅰ.多重共线性Ⅱ.自相关Ⅲ.异方差Ⅳ.样本容量有限
下列选项不属于板书特点的是()。
甲向乙借款3万元,约定年息为10%,并由丙提供保证。现乙欲将该债权移转给丁,在原保证合同对债权转移并无任何约定的情况下,下列说法正确的是()。
如果一直往上看的话,就会觉得一直在下面;如果一直向下看的话,就会觉得一直在上面;如果一直觉得在后面,肯定是一直在向前看。目光决定不了位置,但位置却永远因为目光而存在。关键是,即使我们处于一个确定的位置,目光却仍然可以投往任何一个方向。符合这段文字的
Startingaconversationisaseasyforsomepeopleaseatingandbreathing.However,ifyousufferfromsocialanxietydisorder
最新回复
(
0
)