有以下程序 #include <stdio.h> struct S{ int n; int a[20]; }; void f(int *a, int n) { int i;

admin2021-06-15  74

问题 有以下程序
    #include <stdio.h>
    struct S{  int  n;  int  a[20];  };
    void f(int  *a, int  n)
    {
        int  i;
        for (i=0; i<n-1; i++)  
            a+=i;
    }
    main()
    {
        int  i;   
        struct S  s={10, {2,3,1,6,8,7,5,4,10,9}};
        f(s.a, s.n);
        for (i=0; i<s.n; i++)
            printf("%d,", s.a);
    }
程序运行后的输出结果是

选项 A、2,3,1,6,8,7,5,4,10,9,
B、3,4,2,7,9,8,6,5,11,10,
C、2,4,3,9,12,12,11,11,18,9,
D、1,2,3,6,8,7,5,4,10,9,

答案C

解析 题目中定义了一个结构体类型S,然后定义了一个结构体变量s并初始化,执行f函数后,将s中元素a的每个元素都加上i,i的值从0~9,这里需要注意,最后一个元素没有加i,所以最终答案为C选项。
转载请注明原文地址:https://jikaoti.com/ti/2tz0FFFM
0

最新回复(0)