首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数inputArr(int a[],int n)的功能是输入一组整数(输入0或输入的整数个数达到n时结束)存入数组a,并返回实际输入的整数个数。函数inputArr可以成功编译。但测试函数调用inputArr后,发现运行结果不正确。 请指出错误所
函数inputArr(int a[],int n)的功能是输入一组整数(输入0或输入的整数个数达到n时结束)存入数组a,并返回实际输入的整数个数。函数inputArr可以成功编译。但测试函数调用inputArr后,发现运行结果不正确。 请指出错误所
admin
2011-01-13
82
问题
函数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://www.kaotiyun.com/show/h6jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
对数据分析处理人员的素质要求不包括()。
信息系统通常会自动实时地将所有用户的操作行为记录在日志中,其目的是使系统安全运维()。
国际标准化组织提出的开放系统互连OSI参考模型,将计算机网络分成7层,其中最底层是()。
某企业去年四次核查的钢材库存量情况如下表:用加权平均法计算出该企业去年钢材平均库存量为()吨(中间各次核查数据的权都取1,首次与末次核查数据的权都取0.5)。
在大型分布式信息系统中,为提高信息处理效率,减少网络拥堵,信息存储的原则是:数据应尽量(66)________________。
下列关于防火墙的叙述中,不正确的是(17)。
下列选项中,衡量数据校验人员业务水平的主要指标是(20)。
企业信息化总体架构中,计算机硬件、网络系统、操作系统、数据库管理系统等属于(16)。
下列选项中,不属于Word中段落对齐方式的是(41)。
随机试题
公安工作的对象决定了公安工作具有打击与保护的双重特点。()
枳实消痞丸的功用为
宜用五加皮治疗的病症是
《宪法重大信条十九条》
对于钢筋混凝土房屋.当必须设置防震缝时,其宽度应根据哪些因素确定?Ⅰ.结构类别;Ⅱ.房屋高度;Ⅲ.设防烈度;Ⅳ.场地类别
下列关于人类性别决定与伴性遗传的叙述,正确的是()
ForthepeoplewhohavenevertraveledacrosstheAtlanticthevoyageisafantasy.Butforthepeoplewhocrossitfrequentlyo
请在【答题】菜单下选择【进入考生文件夹】命令,并按照题目要求完成下面的操作。注意:以下的文件必须都保存在考生文件夹下。小赵是一名参加工作不久的大学生。他习惯使用Excel表格来记录每月的个人开支情况,在2013年底,小赵将每个月各类支出
71.Therewasabigpileofbricksonthetopofatallbuildingandamanhadtobringthemdowntotheground.Hehadalongr
1 Peoplehavebeenpaintingpicturesforatleast30,000years.Theearliestpictureswerepaintedbypeoplewhohuntedanimals
最新回复
(
0
)