열혈 c 프로그래밍 책에 있는 문제를 풀고 있는데 잘 풀리지가 않습니다.
문제는 길이가 10인 배열에 10개의 정수를 입력받아서 홀수끼리 짝수끼리 출력하는 프로그램을 완성하는 것입니다. 짝수끼리 출력하는 데에는 성공했지만 홀수끼리 출력은 되지 않네요. 짝수부분을 떼어내도 출력이 안됩니다.
코드는 이렇습니다. 참고로 코드는 홀수부분만 출력하는 코드입니다.
#include <stdio.h>
void result2n1(int *ptr); // result2n1은 함수 이름
int main(void)
{
int num, i;
int arr[10];
for (i = 0 ; i < 10; i++)
{
printf("정수 입력: ");
scanf_s("%d", &num);
arr[i] = num; //1,2,3,4,5,6,7,8,9,0을 입력했습니다. arr[0]=1, arr[1]=2, arr[2]=3..
}
result2n1(arr);
return 0;
}
void result2n1(int *ptr)
{
int i;
printf("홀수 출력: ");
for (i = 0; i < 10; i++);
{
if ((ptr[i] % 2) != 0)
printf("%d", ptr[i]);
else
printf("a"); //임의로 만든 출력문입니다.
}
printf("\n");
}
코드를 보고 또 보고 했지만 도저히 문제점을 발견하지 못했습니다. else printf("a");가 없을 때에는 아무것도 나오지 않고, else 문을 붙여도 a가 한번만 출력됩니다. 조건문과 반복문에는 문제가 없어보이는데 무엇이 문제인가요?