anjgkwl10   1년 전

포인터 공부하고 동적할당 공부하고 해서 터미널에는 맞게 나오는데 틀렸다고 뜨네요...

도저히 감이 안잡혀서 여쭤봅니다...

지금까지의 과정)

1. 반복문 단계니까 배열까지 쓰는 건 이 문제의 출제의도가 아닐 것이다 -> 포기. 배열 쓰기로 함

2. 배열크기를 임의로 100으로 설정 -> 질문게시판에서 배열크기보다 더 높을 수도 있는거라는 글을 봄

3. 배열크기를 어떻게 입력받지? -> 포인터랑 동적할당 적용

4. 이것도 안돼? -> 멘붕

jwvg0425   1년 전

input * 2개를 입력받고 있으니 할당도 malloc(sizeof(int) * input * 2); 만큼 해주시는게 맞을 거 같습니다.

이와 별개로, 입력을 전부 다 받고 출력을 할 필요는 없기 때문에 그냥 순서대로 t입력 받기 -> t번 반복하면서 루프 내부에서 a,b 입력받고 a+b출력하기 해주시면 훨씬 간단하게 풀 수 있어요

meozigoon   1년 전

지금 하셨던 방법으로 하실거면

int *arr = malloc(sizeof(int) * input * 2);

이처럼 해주는 것이 맞습니다.

하지만 그냥 동적할당 부터 끝까지 다 지우고 반복문 안에서

scanf("%d %d", &a, &b);
puts(a + b);

이렇게 해주시면 훨씬 간단하게 풀 수 있습니다.

anjgkwl10   1년 전

예제에는 입력이 다 되면 출력이 나오는 것처럼 되어 있어서 산으로 간 것 같네요...

댓글을 작성하려면 로그인해야 합니다.