난수배열후 수 맞추기 실행결과가 틀려서 질문드려요
지후
난수배열후 수 맞추기
실행시켰을 경우
num[0]=19
num[1]=27
num[2]=11
num[3]=44
num[4]=38
num[17]=-1412682488
처럼 n[5]의 값이 생각하는것처럼 출력되지가않네요ㅠ 어느 부분이 잘못 된건지 찾을수가없어서 질문드립니다
질문 내용 :
#include stdio.h
#include stdlib.h
#include time.h
int luckyNumber(void);
int isMatched(int s[], int key);
int main(void)
{
int i, num[5], ans;
srand(time(NULL));
for( i=0; i6; i++)
{
num[i]= luckyNumber();
printf(num[%d]: %d\n, i, num[i]);
}
printf(숫자를 하나 입력하세요(1-45):);
scanf(%d, &ans);
if(isMatched(num, ans)==1)
printf(맞추셨습니다\n);
else
printf(틀리셨습니다\n);
return 0;
}
int luckyNumber(void)
{
int num = rand() % 45 +1;
return num;
}
int isMatched(int s[], int key)
{
int i;
for( i=0; i6; i++)
{
if(s[i] == key)
{
break;
}
}
if (i==6)
return 0;
else
return 1;
}
-
청식
아 너무간단한 오류였네요ㅠ 배열크기를 잘못선언했네요 고맙습니다!!^^
-
부루
배열 5개 선언이면
0, 1, 2, 3, 4 해서 5개
최대 배열의 첨자는 num[4]가 맞는데요..