单选题
下述程序的输出结果是______。
#include<stdio.h>
void main()
{ int a[20],*p[4];
int i,k=0;
for(i=0;i<20;i++)
a[i]=i;
for(i=0;i<4;i++)
p[i]=&a[i*i+1];
for(i=0;i<4;i++)
{ k=k+*p[i];}
printf("%d",k);
}
【正确答案】
B
【答案解析】[解析] 第一个for循环,给数组a的20个元素分别赋值0~19:第二个for循环,给数组p赋值,p[0]=a[1]=1,p[1]=a[2]=2,p[2]=a[5]=5,p[3]=a[10]=10;第三个for循环,将数组p中元素的值进行累加,k=1+2+5+10=18。