首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数inputArr(int a[],int n)的功能是输入一组整数(输入0或输入的整数个数达到n时结束)存入数组a,并返回实际输入的整数个数。函数inputArr可以成功编译。但测试函数调用inputArr后,发现运行结果不正确。 请指出错误所
函数inputArr(int a[],int n)的功能是输入一组整数(输入0或输入的整数个数达到n时结束)存入数组a,并返回实际输入的整数个数。函数inputArr可以成功编译。但测试函数调用inputArr后,发现运行结果不正确。 请指出错误所
admin
2011-01-13
34
问题
函数inputArr(int a[],int n)的功能是输入一组整数(输入0或输入的整数个数达到n时结束)存入数组a,并返回实际输入的整数个数。函数inputArr可以成功编译。但测试函数调用inputArr后,发现运行结果不正确。
请指出错误所在的代码行号,并在不增加和删除代码行的情况下进行修改,写出修改正确后的完整代码行,使之符合上述设计意图。
[C函数]
选项
答案
[*]
解析
该函数中出现的错误是编写C程序时的常见错误。scanf是C标准库函数中的格式化输入函数,其原型如下:
int scanf(char *format,...);
使用时,第一个实参是格式控制串,之后的实参是地址1,地址2,……
在本题中,要求以十进制整数格式输入一个整数并存入a[k],数组元素a[k]实质上一个整型变量,必须用“&”求得a[k]的地址作为实参调用scanf函数,因此,第4行出错,正确代码应为“scan"%d",&a[k]);”。
C程序中将相等运算符“==”误用为赋值运算符“=”也是常见的一个错误,由于“=”也是合法的运算符并且C语言中用0和非0来表示逻辑假和逻辑真,因此在应产生逻辑值的地方产生了其他数值也可以,因此该错误通常只能用人工检查和排除。第6行的正确代码应为“if(k=n)break;”。
在该程序中,结束循环的一个条件是k等于n,另一个条件是输入的整数为0。另外,do-while的循环条件为真(非0)时要继续循环,因此,循环条件应该是判断输入的值不等于0。观察循环体中与数组元素有关的部分,如下所示:
scanf("%d",&a[k]);
k++;
也就是说输入为0时存入了a[k],而循环判断条件“a[k]==0”中的a[k]相对于刚存入了0的数组元素来说已经是a[k+1]了,因此正确的条件为“a[k-1]!=0”。
转载请注明原文地址:https://kaotiyun.com/show/h6jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
对数据分析处理人员的素质要求不包括()。
数据采集工作的注意事项不包括()。
某企业去年四次核查的钢材库存量情况如下表:用加权平均法计算出该企业去年钢材平均库存量为()吨(中间各次核查数据的权都取1,首次与末次核查数据的权都取0.5)。
某单位的统计报表比较多,采用表号(报表的编号)的好处是______。
在浏览网页时,当鼠标指针移至某些文字或某些图片时,会出现手形状,通常是由于网页在这个地方做了(17)。
下列不属于著作权保护的是______。
据某地区统计,今年中小学生中肥胖学生约占10%,而且,肥胖学生人数正在以8%的速度增长。假设近年中小学生的总量变化不大,据此我们可以推算出,明年该地区中小学生中肥胖学生的比例约为(64)。
在Excel“单元格格式”对话框的“对齐”选项卡中,“垂直对齐”选项中不包括(56)。
在计算机网络的数据通信中广泛使用的校验方式是(15)。
某公司下设4个分公司A、B、C、D,上月各分公司的销售额及其在总公司所占比例如下表所示。由于此表单受潮,有些数据看不清了,但还可以推算出来。根据推算, D公司上月的销售额为(68)万元。
随机试题
下列与其他三个概念的分类标准不一致的是()。
Allthekeywordsinthearticleareprintedin______typesoastoattractreaders’attention.
颈椎病按受压组织的分型有下列哪几项
甲以自己的名义,用家庭共有财产捐资设立以资助治疗麻风病为目的的基金会法人,由乙任理事长。后因对该病的防治工作卓有成效使其几乎绝迹,为实现基金会的公益性,现欲改变宗旨和目的。下列哪一选项是正确的?()
阅读下列FORTRAN77程序:READ(*,*)XIP(X.LT.0.0)THENY=0.0ELSEIF(X.GT.1.0)THENY=1.0IF(X.GT.8.0)THENY=8.0ENDIFEL
工程咨询的原则:()。
国际债券的记价货币通常是( ),以便在国际资本市场筹集资金。
从所给的四个选项中,选择最合适的一个填入问号处,使之呈现一定的规律性。
下列选项中不属于软件生命周期开发阶段任务的是()。
TheMediterranean’sKillerAlgae1.Todaytherearemanyinvasivespeciesthreateningecosystemsallovertheworld,butfew
最新回复
(
0
)