본문 바로가기

Study_C, C++/홍정모의 따라하며 배우는 C언어

[홍정모의 따라하며 배우는 C언어] 6.18 루프 안에서 함수의 반환값 사용하기

728x90

6.18 루프 안에서 함수의 반환값 사용하기

 

  • 두 숫자를 입력받아서 첫번째로 입력받은 숫자를 두번째로 입력받은 숫자만큼의 횟수로 곱하기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int compute_pow(int base, int exp);	// funciton prototype ->컴파일시 컴파일러에게 
					// 이러한 함수가 있다는 것을 알려줌. linking과정에서 컴파일러가 
    		        		// function body를 찾아서 함수의 호출 부분과 연결시켜줌

int main()
{
	int base, exp, result;		// 이 변수들은 main문 안에서만 사용 가능 -> main문에서 선언된 
    					// 변수들의 영역은 main문
	
	while (scanf("%d %d", &base, &exp) == 2) {	// scanf의 return값 이용
							// 입력이 2개가 아니면 while문 종료
		result = compute_pow(base, exp);

		printf("Result = %d\n", result);
	}
	return 0;
}

int compute_pow(int base, int exp) {

	int i, result;				

	result = 1;

	for (i = 0; i < exp; ++i)
		result *= base;

	return result;
}

 

Output :
(3 4 입력)
Result = 81
(2 5 입력)
Result = 32
(q 입력)
종료

 

 

7.1 분기문 if

 

if (expression)		// expression이 참일 경우 (0이 아닐 경우) statement 실행
    statement;

 

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
	int number;

	printf("Input a positive integer : ");
	scanf("%d", &number);

	if (number % 2 == 0)	// -> number가 짝수라면. =(대입 연산자)가 아닌 ==(비교 연산자) 사용
		printf("Even\n");

	if (number % 2 != 0)
		printf("Ood\n");

	return 0;
}	// 나머지연산자가 2번 반복되어 비효율적

 

Output : 
1) (2 입력)
Even
2) (1 입력)
Ood

 

 

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
	int number;

	printf("Input a positive integer : ");
	scanf("%d", &number);
	
	if (number % 2 == 0)	
		printf("Even\n");
	else
		printf("Ood\n");
	
	return 0;
}

 

 

Output : 
1) (2 입력)
Even
2) (1 입력)
Ood

 

 

 

 


https://www.inflearn.com/course/following-c/dashboard

 

홍정모의 따라하며 배우는 C언어 - 인프런 | 강의

'따배씨++'의 성원에 힘입어 새롭게 개발된 C 언어로 시작하는 프로그래밍 입문 강의입니다. '따배씨'와 함께 프로그래밍 인생을 업그레이드 해보세요., 따라하며 배우는 C언어 '따배씨++'의 성원

www.inflearn.com