下述程序的输出结果是( )。 #inc1ude void main() {int a[20],*p[4]; int i,k=0; for(i=0;i

admin2020-10-26  24

问题 下述程序的输出结果是(    )。
    #inc1ude
    void main()
    {int a[20],*p[4];
    int i,k=0;
    for(i=0;i<20;1++)
    a=i;
    for(i=0;i<4;i++)
    p=&a[i*i+1];
    for(i=0;i<4;i++)
    {    k=k+*p;}
    printf("%d",k);
  }

选项 A、10
B、18
C、6
D、数组元素引用不合法,输出结果不定

答案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。
转载请注明原文地址:https://jikaoti.com/ti/zLD0FFFM
0

最新回复(0)