#include<stdio.h>
#include<stdlib.h>
#include<time.h>

#define SIZE 10


int main(void)
{


     int manynumber[SIZE] = { 0 };
     int i, j;


 srand((unsigned)time(NULL));

 for (i = 0; i<100; i++){
  j = rand() % SIZE;
  manynumber[j]++;}


 for (i = 0; i<SIZE; i++){
  printf("%d => %d회\n", i, manynumber[i]);}


 j = 0;


 for (i = 1; i<SIZE; i++){
  if (manynumber[j] < manynumber[i]){
   j = i;}
 }


 printf("가장 많이 생성된 숫자는 %d이며 횟수는 %d회입니다\n", j, manynumber[j]);

     return 0;
}




0-9까지 난수 100회 생성해서 제일 많이 생성된 수를 출력하는건데요

저기서 srand함수가 왜 쓰였는지 잘 모르겠어요


검색해보니까 그냥 rand함수만 쓰면 실행할때마다 숫자가 바뀌는게 아니라 계속 똑같이 나와서 srand를 쓰는거 같은데

srand랑 rand랑 무슨 관계가 있길래

srand를 썼다고 rand에서 숫자가 계속 바뀌어서 나올수 있는건가요??


아 그리고 int manynumber[SIZE] = { 0 }; 이렇게 하면

manynumber[0]부터 manynumber[9]까지 값이 다 0으로 초기화 되는건가요?