单选题 有以下程序:
#include<stdio.h>
void sum(int *a)
a[0]=a[1];
main()
int aa[10]=(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, i;
for(1=2; i>=0; i--)sum(&aa[i]);
printf("%d/n", aa[0]);

执行后的输出结果是( )。
A) 4 B) 3 C) 2 D) 1

【正确答案】 A
【答案解析】[解析] 本题考核的知识点是数组的定义、赋初值以及函数调用的组合应用。本题中函数sum(int *a)的作用是:将形参a所指的数组中的第二个元素的值a[1]赋给第一个元素a[0]。主函数中定义一个长度为10的整型数组并赋初值,接着执行一个for循环,该循环共执行了3次。当i=2时,调用函数sum(&aa[2]),主函数中将&aa[2]作为实参传给形参a,所以此时形参a所指的数组的第一个元素和第二个元素分别为aa[2]和aa[3],故执行完该函数后将aa[3]的值赋给aa[2],即aa[2]=aa[3]=4,当i=1时,同理aa[2]的值赋给aa[1],即aa[1]为4,i=0时,将aa[1]的值赋给aa[0],因此应选A)。