用c语言编写函数筛选数组偶数
时间: 2025-06-15 22:23:30 浏览: 10
在C语言中,我们可以编写一个函数来筛选数组中的偶数。这个函数通常接受一个整型数组作为输入,并返回一个新的数组,其中只包含偶数元素。下面是一个简单的示例:
```c
#include <stdio.h>
// 函数声明,用于声明函数并告诉编译器返回值类型和参数类型
typedef int (*even_filter)(int[], int);
// 定义过滤偶数的函数
int* filter_even(int arr[], int size) {
// 创建一个新的数组来存储结果
int* result = malloc(size * sizeof(int));
if (result == NULL) {
printf("内存分配失败!\n");
return NULL;
}
int count = 0; // 记录新数组中元素的数量
for (int i = 0; i < size; i++) {
if (arr[i] % 2 == 0) { // 如果当前元素是偶数
result[count++] = arr[i]; // 将其添加到结果数组
}
}
// 确保结果数组大小正确,并填充NULL(如果数组未满)
result[count] = 0;
// 返回结果数组的指针
return result;
}
// 主程序测试
int main() {
int input[] = {1, 2, 3, 4, 5, 6};
int size = sizeof(input) / sizeof(input[0]);
int* filtered_arr = filter_even(input, size);
if (filtered_arr != NULL) {
printf("筛选后的偶数数组: ");
for (int i = 0; filtered_arr[i] != 0; i++) {
printf("%d ", filtered_arr[i]);
}
free(filtered_arr); // 释放内存
}
return 0;
}
```
阅读全文
相关推荐


















