han964175   2년 전

이대로 채점을 하면 맞았다고 나오는데 VS2019에서 돌리면 "식에 상수 값이 있어야 합니다. 상수 식이 필요합니다."

등 여러 오류가 나더라고요. 왜 그럴까요???

opera_tive   2년 전

코드를 직접 돌려보지는 않았지만 7번 라인 때문에 오류가 발생할 것이라 생각되네요. VLA(가변 길이 배열)에 관하여 검색해보시면 정확한 정보를 찾으실 수 있습니다.

o98123   2년 전

7번줄의 배열 크기가 작아서 그런 것 같아요

qldrhqorhsh   2년 전

int* s = (int*)malloc(sizeof(int) * t);

이렇게 int 를 담을 수 있는 저장공간을 t 크기로 만들어 주시고

혹시나 동적할당 시 문제가 발생하는 경우를 막기위해

if(s == NULL) return -1;

을 통해 에러를 방지할 수 있습니다.

13번 줄의 s[i] = a+ b;  대신 *(s + i) = a + b;

17번 줄의 s[i] 대신 *(s + i) 가 더 좋아보입니다.

그리고 끝으로 동적할당된 메모리 해제를 위해 free(s) 를 해주시면 됩니다.

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