Small Grey Outline Pointer 함수의 이해 기본예제/함수정의와 호출/지역변수 전역변수
본문 바로가기
Dev./C++

함수의 이해 기본예제/함수정의와 호출/지역변수 전역변수

by sso. 2022. 3. 28.

함수 정의하고, 호출하기

main함수 안에 최대한 간략하게 짜는 것이 이번 목표

 

 

[01]

#include <stdio.h>
#include <string.h>


int a, b;
int result;






int getBigger(void)
{
	printf("입력해주세요: ");
	scanf_s("%d %d", &a, &b);
	printf("%d %d\n", a, b);
	if (a > b)
	{
		return a;
	}
	else if (a < b)
	{
		return b;
	}
	else
	{
		return 0;
	}
}

int getLower(void)
{
	printf("입력해주세요: ");
	scanf_s("%d %d", &a, &b);
	printf("%d %d\n", a, b);
	if (a < b)
	{
		return a;
	}
	else if (a > b)
	{
		return b;
	}
	else
	{
		return 0;
	}
}



int Msg(void) {
	

	result = getBigger();
	printf("첫 번째 결과:%d\n", result);

	result = getBigger();
	printf("두 번째 결과:%d\n", result);

	result = getBigger();
	printf("세 번째 결과:%d\n", result);
	
	return 0;
}

int Msg2(void) {


	result = getLower();
	printf("첫 번째 결과:%d\n", result);

	result = getLower();
	printf("두 번째 결과:%d\n", result);

	result = getLower();
	printf("세 번째 결과:%d\n", result);

	return 0;
}



void main() {
	Msg();
	Msg2();
}

<결과>

입력해주세요: 3 4
3 4
첫 번째 결과:4
입력해주세요: 2 2
2 2
두 번째 결과:0
입력해주세요: 3 1
3 1
세 번째 결과:3
입력해주세요: 1 2
1 2
첫 번째 결과:1
입력해주세요:

 

 

 

[02]

#include <stdio.h>

void guide(void)

{
	printf("inputNumber 함수를 통해 정수를 입력할 수 있습니다.\n");
	printf("또한 inputNumber 함수를 통해 입력한 정수를 출력할 수도 있습니다.\n");
	
}


void printfNumber(int num)
{
	printf("당신이 입력한 정수는 %d 입니다.\n", num);
}

int inputNumber(void)
{
	int num;
	printf("정수를 입력해주세요: ");
	scanf_s("%d", &num);

	return num;
}

void run() {
	int num = inputNumber();
	printfNumber(num);
}


int main(void)
{
	guide();
	run();
	run();

	return 0;
}

 

<결과>

inputNumber 함수를 통해 정수를 입력할 수 있습니다.
또한 inputNumber 함수를 통해 입력한 정수를 출력할 수도 있습니다.
정수를 입력해주세요: 2
당신이 입력한 정수는 2 입니다.
정수를 입력해주세요: 4
당신이 입력한 정수는 4 입니다.

 

 

 

 

[03]

#include <stdio.h>

void guide(void)

{
	printf("inputNumber 함수를 통해 정수를 입력할 수 있습니다.\n");
	printf("또한 inputNumber 함수를 통해 입력한 정수를 출력할 수도 있습니다.\n");
	
}


void printfNumber(int num)
{
	printf("당신이 입력한 정수는 %d 입니다.\n", num);
}

int inputNumber(void)
{
	int num;
	printf("정수를 입력해주세요: ");
	scanf_s("%d", &num);

	return num;
}


void run() {
	int num = inputNumber();
	printfNumber(num);
}


int main(void)
{
	guide();
	run();
	run();

	return 0;
}

결과:5

 

 

 

[04]

#include <stdio.h>

int number = 0;

void printfNumber(void)
{
	printf("전역 변수 number는 %d을 저장하고 있다!\n", number);
}


void run3()
{
	int number = 3;
	printf("지역 변수 number는 %d을 저장하고 있다!\n", number);
	printfNumber();
}

int main(void)
{
	
	run3();
	return 0;

}

 

<결과>

지역 변수 number는 3을 저장하고 있다!
전역 변수 number는 0을 저장하고 있다!

 

 

 

[05]

//1.증감 2.감소 3초기화 4종료

#include <stdio.h>

void increaseNumber() {
	static int number = 0;
	number++;
	printf("number: %d\n", number);
}

void decreaseNumber() {
	static int number = 0;
	number--;
	printf("number: %d\n", number);
}

void reset() {
	static int number = 0;
	number = 0;
	printf("number: %d\n", number);
}

void end() {
	printf("종료!\n");
}


void run4()
{
	increaseNumber();
	decreaseNumber();
	reset();
	end();

}


int main(void)
{
	run4();
}

 

<결과>

number: 1
number: -1
number: 0
종료!

 

 

 

 

728x90

댓글