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