//양의 정수를 입력받아 그 숫자만큼 별표를 출력한다. 입력값이 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 |