본문 바로가기

C 언어/임베디드 C

return문

//양의 정수를 입력받아 그 숫자만큼 별표를 출력한다. 입력값이 50이상이면 50개의 별표만 출력한다. 입력값이 0이면 프로그램은 종료된다. 입력값이 음수일 경우 다시 입력할 수 있게 작성되었다.
#include <stdio.h>

void printstar(int n);
int checknum(int n);
int getnum();

int main()
{
 int num;

 num = getnum();
 while(num !=0)
 {
  num = checknum(num);
  printstar(num);
  num = getnum();
 }
 return 0;
}

int getnum()
{
 int num;
 printf("Enter a number <0 to quit> : ");
 scanf("%d", &num);
 while(num<0) //음수값을 입력할 경우 재입력
 {
  printf("Enter a positive number <0 to quit> : ");
  scanf("%d", &num);
 }
 return (num);
}

int checknum(int n)
{
 if(n>50) return(50);
 else return (n);
}

void printstar(int n)
{
 while(n--) putchar('*');
 putchar('\n');
}


결과
Enter a number <0 to quit> :  21
*********************
Enter a positive number <0 to quit> :  -21
Enter a number <0 to quit> :  50
**************************************************
Enter a number <0 to quit> :  60
**************************************************
Enter a number <0 to quit> :  11
***********
Enter a number <0 to quit> :  0
종료

return 명령문
return 문은 함수의 실행을 종료시키고 함수 실행의 결과값을 호출자에게 돌려준다. checknum()함수의 경우처럼 return문은 하나의 함수 내에 여러 번 나올 수 있다. 함수는 그 중 하나를 만나면 실행이 종료된다.
printstar()함수의 경우처럼 return문이 없는 경우는 함수의 실행부가 끝나면 자동적으로 함수의 실행은 종료된다.

'C 언어 > 임베디드 C' 카테고리의 다른 글

메모리 저장주소 보기 및 활용  (0) 2011.04.26
메모리내 주소 저장방식  (0) 2011.04.26
지역변수  (0) 2011.04.25
함수의 정의  (0) 2011.04.25
makefile 만들어보기  (0) 2011.04.21