Small Grey Outline Pointer 함수값 반환하기 문제
본문 바로가기
Dev./C++

함수값 반환하기 문제

by sso. 2022. 3. 27.

<함수값 반환하기>

#include <stdio.h>



//2개의 매개변수를 받아, 두개의 합을 반환
int plus(int a, int b) {
	return a + b;
}

void main() {
	int sum = plus(3, 5); //함수를 호출하면, 값으로 치환 되어 plus(3, 5)=8 의 값으로 처리
	printf("%d", sum);
} 
//결과 8

 

 

 

[01]

#include <stdio.h>


//전역변수
int itemCnt = 0;
int money = 100;

void buyItem() {
	//아이템을 산다
	itemCnt++;
	money -= 10;
	printf("아이템을 구매했습니다.\n");
	printf("아이템 개수: %d\n", itemCnt);
	printf("잔액: %d\n", money);
}


void main() {


	buyItem(); //전역변수로 생성한 함수 호출

	buyItem();

}

<결과>

아이템을 구매했습니다.
아이템 개수: 1
잔액: 90
아이템을 구매했습니다.
아이템 개수: 2
잔액: 80

 

 

[01-응용]

#include <stdio.h>


//전역변수
int itemCnt = 0;
int money = 100;

void buyItem(int cost, int cnt) { //int cost, int cnt 매개변수 (코스트, 한 묶음)
	//아이템을 산다
	itemCnt+=cnt;
	money -= cost;
	printf("아이템을 구매했습니다.\n");
	printf("아이템 개수: %d\n", itemCnt);
	printf("잔액: %d\n", money);
}


void main() {


	buyItem(30, 5); //전역변수로 생성한 함수 호출 cost30 cnt5
    //처음의 cost는 30, 따라서 money-=cost 머니에서 -30이 됨 =>70

	buyItem(50, 7);
    //그 다음의 cost는 50으로 호출 됨. 따라서 money=70 에서 -50 => 20

}

 

아이템을 구매했습니다.
아이템 개수: 5
잔액: 70
아이템을 구매했습니다.
아이템 개수: 12
잔액: 20

 

 

시간 날 때 마다 유튜브 보면서 문제 따라 풀고 있다

혼자서 문제 풀어보고 다른 사람이 어떻게 푸는지 보면

도움이 많이 되는거 같다

 


 

 

[전역변수]

모든 지역에서 접근이 가능한 변수, 중괄호로 묶지 않아야 한다

프로그램의 시작과 동시에 메모리 공간에 할당되어 종료할 때 까지 존재

 

 

 

<리턴 값이 1개여야 한다>

 

#include <stdio.h>


int noMeaning() {
	printf("first\n");
	return 1;
	printf("second\n");
	return 2; //c언어에서는 리턴을 만나게 되면 즉시 함수가 종료 됨. 따라서 리턴2는 안나옴
}

void main() {
	int a;
	a = noMeaning();
	printf("반환 된 값: %d\n", a);

}

 

<결과>

first
반환 된 값: 1

 

c언어에서는 리턴을 만나게 되면 즉시 함수가 종료 됨. 따라서 리턴2는 안나옴

728x90

댓글