编译器报错不允许使用不完整的类型和“printf”:实参具有“void”类型:参数二
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int a[1000], arr_even[1000], arr_odd[1000], arr_prime[1000], n;
int n_odd,n_even,n_prime;
void getOdd(int* a, int len, int* arr_odd, int* n_odd)
{
int j = 0;
for (int i = 0; i < n; i++)
{
if (a[i] % 2 == 0)
{
printf("%d ", a[i]);
arr_odd[j] = a[i];
j++;
}
}
printf("\n");
*n_odd = j;
printf("%d", *n_odd);
}
void getEven(int* a, int len, int* arr_even, int* n_even)
{
int j = 0;
for (int i = 0; i < n; i++)
{
if (a[i] % 2 != 0)
{
printf("%d ", a[i]);
arr_even[j] = a[i];
j++;
}
}
printf("\n");
*n_even = j;
printf("%d", *n_even);
}
void getPrime(int* a, int len, int* arr_prime, int* n_prime)
{
int x = 0;
for (int i = 0; i < n; i++)
{
if (a[i] == 2)
{
x += 1;
arr_prime[x] = a[i];
printf("%d ", a[i]);
}
else
{
int j = 0;
for (j = 2; j <= sqrt(a[i]); j ++)
{
if (a[i] % j == 0)
{
break;
}
}
if (j > sqrt(a[i]))
{
printf("%d ", a[i]);
arr_prime[x] = a[i];
x++;
}
}
}
printf("\n");
*n_prime = x;
printf("%d", *n_prime);
}
void main()
{
n_odd = 0;
printf("请输入数组的长度:");
scanf("%d", &n);
printf("请输入一个数组:");
for(int i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
printf("输出数组中的偶数:");
printf("输出数组中的偶数的个数:%d\n", getOdd(a, n, arr_odd, n_odd));
printf("输出数组中的奇数:");
printf("输出数组中的奇数的个数:%d\n", getEven(a, n, arr_even, n_even));
printf("输出数组中的素数:");
printf("输出数组中的素数的个数:%d\n", getPrime(a, n, arr_prime, n_prime));
}