이번 글에서는 입력받은 숫자들에 짝수와 홀수를 판단하는 함수를 작성해 볼 거다.
우선 array의 입력을 받기 위해 array를 선언해주고, 이 array에 숫자를 입력받아 준다.
int arr[10];
int i = 0;
for (i; i < 10; i++) {
printf("scan:");
scanf("%d", &arr[i]);
}
이 코드는 별도의 함수가 아닌 main 함수에 작성해 준다.
필자는 짝수와 홀수를 판별하는 함수를 따로 만들어주겠다.
우선 짝수를 판별하는 함수는
void Even_number(int* param, int len) {
int i = 0;
for (i; i < len; i++) {
if (param[i] % 2 == 0) {
printf("%d ", param[i]);
}
}
}
다음과 같이 작성해 준다.
인자로 포인터 변수를 받는 이유는 포인터 변수로 전달받은 array의 주소를 참조하여 값을 변경하기 위함이다.
두 번째 인자인 len은 arrray길이를 알기 위한 인자이다.
array에 길이를 알아야 반복문의 반복 횟수를 정할 수 있기 때문이다.
홀수 판별 함수도 만들어준다.
void Add_number(int* param, int len) {
int i = 0;
for (i; i < len; i++) {
if (param[i] % 2 != 0) {
printf("%d ", param[i]);
}
}
}
이 두 함수의 사용법은 다음과 같다.
Even_number(arr, sizeof(arr) / sizeof(int));
Add_number(arr, sizeof(arr) / sizeof(int));
len자리의 들어가 있는 sizeof(arr) / sizeof(int)는 array의 길이를 구하기 위함이다.