求数组中大于等于和小于0的元素的个数,用指针
时间: 2024-01-27 18:03:10 浏览: 115
可以使用指针遍历数组,统计大于等于0和小于0的元素个数。具体实现如下:
```c
#include <stdio.h>
void count(int arr[], int n, int *positive, int *negative) {
*positive = 0;
*negative = 0;
for (int i = 0; i < n; i++) {
if (arr[i] >= 0) {
(*positive)++;
} else {
(*negative)++;
}
}
}
int main() {
int arr[] = {1, -2, 3, -4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int positive, negative;
count(arr, n, &positive, &negative);
printf("Positive: %d\nNegative: %d", positive, negative);
return 0;
}
```
在 `count` 函数中,使用指针 `positive` 和 `negative` 分别指向 `main` 函数中定义的变量,并通过对指针所指向的值进行修改来统计大于等于0和小于0的元素个数。在 `main` 函数中,通过取地址符 `&` 将变量的地址传递给 `count` 函数中的指针参数。最终输出结果为:
```
Positive: 3
Negative: 2
```
阅读全文