问题 单项选择题

有以下程序:
struct Sint n;int a[20];;
void f(int *a, int n)
int i;
for(i=0;i<n-1;i++)a[i]+=i;

main()
int i;struct S s=10,12,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[i]);

程序运行后的输出结果是

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

答案

参考答案:A

解析: 本题考查的是结构体成员的引用。在主函数main()中定义了一个整型变量i和一个结构体变量s。f()函数中,通过指针a来引用数组中的元素;通过for循环语句将数组中除最后一个元素外的其他元素(由条件i<n-1决定的)分别加上由0开始的递增数据(即0、1、2…8),所以最后的输出结果为2,4,3,9,12,12,11,11,18,9,。

单项选择题
单项选择题