c语言问题!(两个图片是上半部分和下半部分)那个调用函数f(s.a,s.n)是什么意思,还有那个s

c语言问题!(两个图片是上半部分和下半部分)那个调用函数f(s.a,s.n)是什么意思,还有那个struct S s又是什么意思?为什么选择C,谢谢

    struct S  是一个机构体,你可以把它看成一个特殊的数组,元素是的内容是一个n和数组a。

    struct S s的意思是创建一个结构体 S类型的变量s。s中的元素10相当于结构体S中的int n。同理后面的数组等于S中的int a[20]

    f(s.a,s.n)的意思是执行函数void f(int *a,int n),其中带入函数形参的两个值s.a指的是变量s中的元素数组{2,3,1,6,8,7,5,4,10,9},s.n等于10

    将10和数组带入函数f中,可把for循环看成

    for(i=0 ; 9 ; i++)

            a[i]=a[i]+i;

       循环的意思是给数组的每个元素加上一个i的值,所以全部加完后,数组的元素的值等于c选  项的值。最后输出数组结束程序

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-09-11
struct S s : 定义一个结构体类型为struct S的变量s。
f(s.a,s.n):调用函数f ,传递的参数,是变量s的成员a和成员b。
f函数的功能是,数组中的每个数加其对应的下标
2+0,3+1,1+2,6+3,8+4,7+5...
所以,2,4,3,9,12,12...
第2个回答  2015-09-11
函数f(s.a,s.n)完成的功能是 a[i]=a[i]+i,就是 n=1时,a[1]=a[1]+1;n=2,a[2]=a[2]+2;……以此类推。最终可得答案为C。