homework2:根据已知代码,回答问题

本文分析了两个程序中的错误,包括循环条件错误和寻找特定元素位置的逻辑错误,并为每个错误提供了四种不同类型的测试用例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本次作业要求如下:

答案:

1.Identify the fault.

在第一个程序中,for循环的判断条件是i>0,这就导致循环的时候不会读到x数组中的第一位,可能造成错误。

在第二个程序中,函数想做的是找到最后一个0的位置,但是这个循环是从前往后数的,i依次加1,这就导致:若数组中有多个0,那么只会返回第一个0对应的位置,而不是最后一个0的位子。所以如果改成从后往前数,i从x.length-1开始依次减1就可以了。

 

2. If possible, identify a test case that does not execute the fault. (Reachability)

第一个程序:可以令x=[1,4,5],y=4,  Excepted=1

第二个程序:可以令x=[2,3,0,4],  Excepted=2

 

3.If possible, identify a test case that executes the fault, but does not result in an error state.

第一个程序:可以令x=[1,4,5,6],y=3,  Excepted=-1

第二个程序:可以令x=[2,3,4,5],  Excepted=-1

 

4.If possible identify a test case that results in an error, but not a failure.

第一个程序:可以令x=[1,2,3,4],y=1,  Excepted=0

第二个程序:可以令x=[2,0,4,0],  Excepted=3

 

转载于:https://www.cnblogs.com/cricketvaxes/p/6481717.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值