![](https://csdnimg.cn/release/download_crawler_static/86380382/bg4.jpg)
结果可能是输出一个负值,因为 item 是个变量,分配了存储空间, arr[-2]也是可以输出的,
因为 arr 只是个地址,经过测试会找到 item,printf 他的地址
//
答:可能的异常结果为出现一个随机负数。
由于代码未检查数组是否越界,若查找的item未在数组中,则会导致程序超出数组范围继
续寻找,由于item为变量,也存在于程序的内存中,最终若在数组界外查到item,则输出
一个负数。【若item为全局变量,由于存储位置不同,可导致内存查找越界,而异常退出。
感谢Seven同学的指导啊!】
2、设有递归函数:
Intvalue(intn){
intx;
if(n==0)
return0;
else
{
scanf(“%d”,&x);
return(value(n-1)+x);
}
}
如该函数被调用时,参数 n 值为 4,输入的 x 的值依次为 11,22,33,44,函数调用结束时返
回值是多少?并用图描述函数递归执行过程。(10 分)
//
还是谭浩强那本书,第 172 页把这页的图类似的画上就行了。
结果是 110, 图参考谭浩强的递归那节
答:返回值为110
3、数组作为函数参数有三种形式:1)实参是数组元素:2)形参是指针,实参是函数:3)函数的
形参和实参都是数组分别是采用什么参数传递方式?(5 分)
1)实参是数组元素 传值
2)形参是指针 传地址(指针)