问答题

简答题

以下是一个C语言程序,用来计算一个数组a中每个元素的和。当参数len为0时,返回值应该是0,但是在机器上执行时,却发生了存储器访问异常。请问这是什么原因造成的,并说明程序应该如何修改。

【参考答案】

参数len的类型是unsigned,所以,当len=0时,执行len-1的结果为...1,是最大可表示的无符号数,因而,......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)