#include<stdio.h>
void Show1(int *ptr);
void Show2(int *ptr);
int main(void)
{
int arr+;
int i = 0;
printf("총 10개의 숫자 입력\n");
for (i = 0; i < 10; i++)
{
printf("%d 입력: ",i+1);
scanf_s("%d ", &arr[i]);
}
Show1(&arr);
printf("\n");
Show2(&arr);//그냥 arr해도 되는지? 확인 ->ok
return 0;
}
void Show1(int *ptr)
{
int i;
printf("홀수 출력: ");
for (i = 0; i < 10; i++)
{
if (ptr[i] % 2 == 1)
printf("%d ", ptr[i]);
}
}
void Show2(int *ptr)
{
int i;
printf("짝수 출력: ");
for (i = 0; i < 10; i++)
{
if (ptr[i] % 2 == 0)
printf("%d ", ptr[i]);
}
}
일케하고 실행하면 제대로 결과가 안나옴,,,
길이가 10인 배열선언, 10개 정수 입력받아 홀수와 짝수를 구분지어 출력.
어려운 문제군요
&arr;이아니라 arr아님?
&arr;은 배열의주소가 아니라 배열포인터의 주소아닌가
arr은 배열의 시작주소값이지만 arr[0]~arr[9]는 정수값이잖아
ㄴ음 일단 그렇게 수정해도 실행결과는 똑같이 이상하게 나와요ㅜ
int *ptr 말구 int ptr[]로 바꺼바
https://ideone.com/M3qqDu
그래도 안나옴요..ㅜㅜ
안본지 너무 오래되서 잘 모르겠지만 scanf 에서 scanf_s로 바뀌면서 마지막 인자로 사이즈를 줘야하는것이 아닌지 확인 한번 해보세요