C++ 왕초보 arr 배열 질문드립니다.
조회수 600회
#include <stdio.h>
int main() {
LOOP:
int n, k;
int arr[1000];
printf("당신이 쓴 ' n개 '의 정수의 순열중 최댓값을 찾는 프로그램입니다. n을 설정해 주세요 (단 n은 1000보다 작거나 같습니다..)\n\n\n\n n : ");
scanf_s("%d",&n);
printf("\n\n 당신이 설정한 n 값은 %d 입니다. \n\n 당신이 설정한 n의 값은 %d 이 맞습니까??\n\n\n\n Yes (1) , No (2) \n\n ->",n,n);
scanf_s("%d",&k);
if (k == 1) {
printf("\n================\n\n계속 진행합니다.\n\n\n");
} else if (k == 2) {
printf("초기 화면으로 돌아갑니다.\n\n\n");
goto LOOP;
} else {
printf("초기 화면으로 돌아갑니다\n\n\n");
goto LOOP;
}
//여기서는 각각의 n값을 arr[] 에 집어넣어야 한다.만약 n=5면 나올때의 i=5이고, arr[0] ~ arr[4]까지.
for (int i = 0; i <= (n - 1); i++) {
scanf_s("%d",&arr[i]); //29줄
}
//정리된 arr을 순서대로 크기를 비교하면서 최댓값을 찾는다.
int max = arr[0];
for (int j = 1; j <= (n - 1); j++) {
if (max < arr[j]) {
max = arr[j];
}
}
printf("당신이 입력한 값중 가장 큰 값은 %d 입니다", max);
}
visual studio에서는 29줄에서 "초기화 되지 않은 메모리 'arr'을(를) 사용하고 있습니다" 라고 C6001 오류는 아니고 경고가 나오는데 무시하고 넘어가도 상관이 없을까요?
대체 어떤부분을 수정해야 할지 감이 안잡혀서 아시는분 있으면 부탁드립니다.
댓글 입력