아래 코드좀 풀이해 주세요.
푸른나래
질문 제목 :(c언어 왕초보) 아래코드좀풀이해 주세요.
왜 그렇게 되는지 이해가 안갑니다. 이제 막 c를 시작해서 그렇답니다.질문 내용 :
아래 코드는 반복할 횟수 n을 main()함수의 인자로 받아서 n개의 난수(random number)를 출력하는 프로그램이라고 합니다.
#include stdio.h
#include stdlib.h
int main(int argc, char *argv[])
{
int n=atoi(argv[1]), i;
for(i=1; i=n; i++)
printf(rand()=%d\n, rand());
return 0;
}
이해가 안가는 부분이
첫째, int main(int argc, char *argv[]) ←여기에 보면 main 함수의 인자는 2개를 받는거 아닌가요?
둘째, n=atoi(argv[1]) ← 이게 무슨 의미인가요? argv[1]이 뜬금없이 왜 나온건가요? 배열의 두번째 요소, 그리고 갑자기 atoi()함수는 왜 그리고 그걸 왜 n이라는 변수에 치환하는 거죠? 으~ 답답!!
셋째, 이 코드는 컴파일결과 아무 문제가 없는데 visual c++에서 실행시키면 오류가 나요. 글구, dos창에서 해당 source 디렉토리 가서
(이 코드 파일명이 aaa.exe라고 하면) aaa 10하고 엔터 빵치면,
rand()=41
rand()=18467
rand()=6334
rand()=26500
rand()=19169
rand()=15724
rand()=11478
rand()=29358
rand()=26962
rand()=24464
요롷게 나온답니다. 왜 왜 왜죠??? 고수님들의 구체적인 가르침 부탁합니다. please~