본문 바로가기

C 언어/연습문제

C언어 연습문제6

[문제]

변수 num에 저장된 값의 제곱을 계산하는 함수를 정의하고, 이를 호출하는 main 함수를 작성해보자.
단, 여기서는 다음 두 가지 형태로 함수를 정의해야 한다.

- Call-by-value 기반의 SquareByValue 함수
- Call-by-reference 기반의 SquareByReference 함수

SquareByValue 함수는 인자로 전달된 값의 제곱을 반환해야 하며, SquareByReference 함수는 정수가 저장되어 있는 변수의 주소 값을 인자로 받아서 해당 변수에 저장된 값의 제곱을 그 변수에 다시 저장해야 한다.

 

[실행결과]

정수 입력: 5
입력한 정수의 제곱: 25
입력한 정수의 제곱: 25

 

[코드]

#include<stdio.h>

int SquareByValue(int n);
void SquareByReference(int* ptr);

int main(void)
{
	int num;

	printf("정수 입력: ");
	scanf_s("%d", &num);

	printf("입력한 정수의 제곱: %d\n", SquareByValue(num));
	SquareByReference(&num);
	printf("입력한 정수의 제곱: %d", num);

	return 0;
}

int SquareByValue(int n)
{
	return n * n;
}

void SquareByReference(int* ptr)
{
	int num = *ptr;
	* ptr = num * num;
}

 

<참고>

윤성우의 열혈 C 프로그래밍

'C 언어 > 연습문제' 카테고리의 다른 글

C언어 연습문제8  (0) 2021.11.10
C언어 연습문제7  (0) 2021.11.10
C언어 연습문제5  (0) 2021.11.05
C언어 연습문제4  (2) 2021.10.26
C언어 연습문제3  (0) 2021.10.26