问题
单项选择题
有以下程序:
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,。