函数的结构体问题谁会啊
发布网友
发布时间:2022-05-18 19:34
我来回答
共1个回答
热心网友
时间:2023-10-27 01:41
struct S{ int n; int a[20];}; //定义结构体S, 它有2个成员,第一个是整型变量 n, 第二个是整型数组 a, 它有20个元素。
void f(int *a, int n){。。} // 函数 f, 参数1 是指针,指向一个整型数组的首地址,参数2 是 整型变量 n,即数组元素的个数。
{int i; for (i=0; i<n-1; i++) a[i]+=i; } 把数组中的(不考虑最后一个元素)各元素的值加上它的下标,再存回去。
struct S s={10, {2,3,1,6,8,7,5,4,10,9}}; //声明s是 S型结构,
初始化 s.n=10; s.a[i] 分别为 2,3,1....; 即 s.a[0]=2; s.a[1]=3; ...s.a[9]=9;
f(s.a, s.n); 函数调用;参数1 是 s.a[] 数组的首地址;参数2 是 10。执行:
s.a[0]=2+0; s.a[1]=3+1; s.a[2]=1+2; ....s.a[8]=10+8; s.a[9]=9(不变);
for (i=0; i<s.n; i++){} 就是 for (i=0; i<10; i++) {};输出 所有元素最终的数值:
2,4,3,9,12,12,11,11,18,9,