试题与答案

有以下程序:void sum(inta[]) {a[0]=a[-1]+a[1];}

题型:单项选择题

题目:

有以下程序:void sum(inta[]) {a[0]=a[-1]+a[1];} main() {inta[10]={ 1,2,3,4,5,6,7,8,9,10};sum(&a[2]); printf("%d\n",a[2]); }程序运行后的输出结果是______。

A.6

B.7

C.5

D.8

答案:

参考答案:A

解析:本题将主函数中 a[2]的地址传递给了 sum 函数中的形参 a[],使得 sum 函数中的(a+0)为主函数中 a[2]的地址,所以 a[-1]即*(a-1)的值为主函数中 a[1]的值;a[1]即*(a+1)的值为主函数中 a[3]的值,故函数 sum中 a[0]=2+4,由于此函数中的 a 是指向主函数中的 a[2],所以主函数中的 a[2]的值即为 6。

试题推荐
微信公众账号搜索答案