#include <stdio.h>
#include <stdlib.h>
#define SIZE 10
void main(void) {
int max,min,n[SIZE];
srand(time(NULL));
for (int i = 0; i < SIZE; i++) {
n[i] = rand() % 101;
printf("%5d", n[i]);
}
max = n[0];
min = n[0];
for (int i = 1; i < SIZE; i++) {
if (n[i] > max)
max = n[i];
if (n[i] < min)
min = n[i];
}
printf("\nMax = %d\n\n Min = %d\n", max, min);
}
독학중인데 문득 궁금한 거 있는데 몰겠음
정보) 위 코드는
배열 10개 선언하고 최대값 최소값 만드는 것이라캄
질문) max =n[0], min =n[0]이 max와 min의 초기값을 할당하기 위해서라는 건 알겠는데 왜 n[0]이어야 해? d[SIZE]선언하고 d[0]하면 왜 안돼?
변수잖아
0이 없으면?ㅇㅅㅇ
두 번째 for문 보면 i=1 부터 시작하잖아? n[1]부터 max 안의 값을 비교해가면서 하잖아? 그래서 그럼
배열 n에 원소가 0번 인덱스부터 9번 인덱스까지 있고 배열 n 안의 원소 중에서 최댓값 최솟값을 해야하고 for문으로 인덱스 순서대로 확인해가니까 n[0]을 초기값으로 두는 거임
아하 그렇구만
고마움!
나는 d[size] 가이해안감 c 스택에는 선언만하면 무조건 쓰레기값이라 컴파일러가 에러뛰울텐데
ㄹㅇ 저도 뭔소린가 싶었음
아 그래서 그렇구만 고맙다!