定义长度为10的整型数组,首先调用函数f1对数组元素赋值(要求实参、形参均为数组名);然后调用函数f2返回其中偶数元素之和(要求实参、形参均为指针变量)。
时间: 2024-03-02 22:48:38 浏览: 79
实参为指针变量形参为数组名-c++语言教程谭浩强
好的,以下是一个示例代码:
```c
#include <stdio.h>
void f1(int arr[]);
int f2(int *p_arr);
int main() {
int arr[10];
f1(arr);
int sum = f2(arr);
printf("偶数元素之和为:%d\n", sum);
return 0;
}
void f1(int arr[]) {
printf("请输入10个整数:");
for(int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
}
int f2(int *p_arr) {
int sum = 0;
for(int i = 0; i < 10; i++) {
if(*(p_arr+i) % 2 == 0) { // 判断偶数
sum += *(p_arr+i);
}
}
return sum;
}
```
在上述代码中,我们首先定义了一个长度为10的整型数组 `arr`。然后,我们调用函数 `f1` 来对数组元素进行赋值。在 `f1` 函数中,我们使用 `scanf` 函数从用户输入中获取10个整数,并将它们存储在数组 `arr` 中。
接着,我们调用函数 `f2` 来计算数组中偶数元素的和。在 `f2` 函数中,我们使用指针变量 `p_arr` 来遍历数组 `arr` 中的所有元素,如果元素为偶数,则将它们累加到变量 `sum` 中。最后,我们返回变量 `sum` 的值,即偶数元素之和。
在主函数中,我们将函数 `f1` 和 `f2` 分别作为参数传递给了函数调用。在 `f2` 函数中,我们使用了指针变量 `p_arr` 来遍历数组 `arr` 中的所有元素,而不是直接传递整个数组。这样做可以提高程序的效率,因为指针变量可以直接访问数组元素,不需要将整个数组复制到函数的栈帧中。
阅读全文