有以下程序: #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]+=i; } main() { int i;

admin2020-11-27  26

问题 有以下程序:
#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,所以最终答案为C选项。
转载请注明原文地址:https://kaotiyun.com/show/7i3p777K
0

最新回复(0)