IT/솔루션) 난 정말C... 없다구요

13장. 메모리 구조와 변수) 문제 13-1 [키워드 static의 활용] - 2

돔찌 2019. 4. 15. 08:13

<2016. 9. 21. 21:10>

13장. 메모리 구조와 변수) 문제 13-1 [키워드 static의 활용] - 2

 

 

/*
절대값을 구하는 함수를 정의하자. 단 이 함수는 다음 두 가지를 모두 만족해야 한다.
1. 함수 호출 시 전달되는 값의 절대값을 반환한다.
2. 함수 호출 시 0이 전달되면, 가장 최근에 반환한 절대값을 다시 반환한다.
*/
#include<stdio.h>
#include<stdlib.h>
#pragma warning(disable : 4996)
int absolute(int n);
int main(void) {
	int number;
	int s = 1;
	while (s) {
		printf("절대값으로 반환할 값을 입력하세요. : ");
		scanf("%d", &number);
		if (number == 0) {
			s = 0;
			printf("마지막으로 반환한 절대값은 %d 입니다.\n", absolute(number));
		} else
		printf("절대값은 %d 입니다.\n", absolute(number));
	}
	system("pause");
	return 0;
}
int absolute(int n) {
	static int change;
	if (n > 0)
	change = n; else if (n < 0)
	change = n * -1; else {
	}
	return change;
}