问题
单项选择题
有以下程序:
#include <stdio, h>
void sum(int a[ ] )
a[0]=a[-1] +a[1];
main ( )
int a[10] = 1,2,3,4,5,6,7,8,9,10;
sum(&a[2]);
prinff("% 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]的值,故函数sum中 a[0]=2+4。由于此函数中的a是指向主函数中的a[2],所以主函数中的a[2]的值即为6。