<p>#include<stdio.h> //표준 입력 출력 함수가있는 라이브러리 헤더파일 포함 전처리문</p> <p>long int fact(int); //fact부함수 선언</p> <p>void main() //입력 출력 매개변수가없는 메인함수<br>{ //메인함수시작<br> int n,result; //정수 자료형 n result 선언<br> printf("\n 정수를 입력하세요!! "); //줄바꿈 정수를 입력하세요!! 출력문<br> scanf("%d",&n); //키보드 입력함수 입력받은값 n에저장<br> result = fact(n); //부함수 fact에 n 입력<br> printf("\n\n %d의 factorial 값은 %ld입니다.\n",n,result); //2줄바꾸고 n의 factorial 값은 resault값 출력<br> getchar(); //대기문<br>} //메인함수종료</p> <p>long int fact(int n)//입력매개변수 long int n 출력매개변수 long int 인 부함수 fact 선언<br>{ //fact 부함수 시작<br> int value; //정수 자료형 value 선언<br> if(n<=1){ //n<=1일때 동작하는 if 조건문 <br> printf("\n fact(1)함수 호출!"); //줄바꾸고 fact(1)함수 호출! 를 출력<br> printf("\n fact(1)값 1 반환!!"); //줄바꾸고 fact(1)값 1 반환!! 를 출력<br> return 1; // return을 1로 반환<br> } //if문종료<br> else{ ////n<=1 이아닐떄 동작하는 조건문<br> printf("\n fact(%d)함수 호출!",n); //줄바꿈 fact(n의값)함수 호출! 를 출력<br> value = (n*fact(n-1)); //정수 자료형 value에 n*fact(n-1) 재귀<br> printf("\n fact(%d)값 %ld 반환!!",n,value); //줄바꿈 fact(n의값)값 value값 반환!! 출력<br> return value; //return 을 value로 반환<br> } //else문 종료<br>}//부함수 fact종료</p> <p>스캔에프에서 5를 눌럿으면요</p> <p>1 부함수선언</p> <p>2 메인함수선언</p> <p>3 메인함수시작</p> <p>4 정수형변수 n result 선언</p> <p>5 정수를 입력하세요 출력</p> <p>6 스캔에프 실행</p> <p>7 result =fact(n) 실행</p> <p>8 부함수 실행</p> <p>9 벨류선언</p> <p>10 이프문 실행 </p> <p>11엘스 실행</p> <p>12 함수호출 프린트</p> <p>13 벨류= n*fact(n-1) 실행 </p> <p>8 10 11 12 13 을 3번더 실행</p> <p>모르겟습니다...</p> <p> </p> <p><br></p>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.