:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
10/04/08 16:34
배열의 크기를 벗어나서 참조하시는 게 곳곳에 보이네요;;
인덱스가 0에서부터 시작하므로 배열 크기가 10일 때 a[10] b[10]을 참조하면 11번째를 가져오려고 하니 메모리 오류가 납니다. a 배열 크기가 10밖에 안되는데 루프를 1000번 도는 것도 그렇고요. 충분히 배열을 크게 잡으시고 인덱스 범위 벗어나는 것에 주의하면서 고쳐보세요.
10/04/08 16:48
int a[10] 이라고 정의하셨죠.
그럼 int(정수형) 변수 a[0], a[1], a[2]...a[8]. a[9] 10개의 변수를 선언한 것과 같습니다. 일단 a[10]이 나오면 안되죠.
10/04/08 19:55
a[]를 업데이트 하는 곳에서 a[0]이 for문 안에서 바뀌는데 그 다음줄에 a[0]을 이용해서 a[k-1]을 바꾸네요. 잘못된 것 같아요.
배열을 함수에 전달하려면 배열명을 이용해야 돼요. a[x]라고 하면 a[x]에 있는 값만 전달되므로 a를 전달해야 합니다. a는 a[0]의 주소고요. 그리고 리턴도 저렇게 하면 배열 리턴이 되는 게 아니라 b[x]에 있는 값만 리턴되므로, void ducci(int* a, int* b, int k) 이렇게 함수 선언하고 결과값을 b[]에 저장하는 게 나을 것 같네요.
|