먼저 함수는 편의성을 위해? 기능 구현을 따로 선언 하는 것이다.
예시로 짠 코드가 있다.
int compare(int a, int b){
if(a >= b){
return 1;
}
else{
return 0;
}
}
#include <stdio.h>
int main(){
int a, b;
scanf("%d %d", &a, &b);
if(compare(a, b)){
printf("a가 b보다 크거나 같다");
}
else{
printf("a가 b보다 작다");
}
}
먼저 함수를 선언 하는 방법은
자료형 함수이름(인자){
}
이다.
이 코드에선 compare함수를 선언 해 사용했다.
compare 함수는 받은 인자의 크기를 비교하는 함수다.
함수는 main에서 사용을 해줘야 함수 안 내용이 돌아간다.
이제 재귀함수 예제를 살펴보도록 하겠다.
#include <stdio.h>
void print_star(int a){
if (a==0){
return;
}
for(int i = 0; i < a; i++){
printf("*");
}
printf("\n");
return print_star(a-1);
}
int main(){
int a;
printf("Input: ");
scanf("%d", &a);
print_star(a);
return 0;
}
재귀함수는 함수 안에서 자기 자신을 호출하는 함수다.
이 예문에서 print_star 함수는 인자를 a-1로 자기 자신을 인자 a가 0이 될 때 까지 재귀한다.
그래서 인자 a가 0이 될 때 까지 재귀를 돌리면 별이 5개 부터 1개 까지 한 줄씩 개행이 돼 출력 될 것이다.
그리고 맨 위에 조건문으로 0이 되면 return을 해 재귀를 끝낸다.
'Layer7 > WriteUp' 카테고리의 다른 글
Layer7 웹 1차시 수업내용 정리 (0) | 2024.05.16 |
---|---|
C언어 코드를 JS코드로 변환하기 (2문제) (0) | 2024.05.16 |
JS 문법 정리 (0) | 2024.05.16 |
재귀함수로 별 찍기 WriteUp (0) | 2024.04.12 |
Compare 함수 문제 WriteUp (0) | 2024.04.12 |