본문 바로가기
C

함수 연습

by KWONE 2024. 5. 26.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int even(int n);
int absolute(int n);
int sign(int n);

int main()
{
	int n;
	printf("정수를 입력하시오: ");
	scanf("%d", &n);
	printf("even()의 결과: %d\n", even(n) == 1 ? "짝수" : "홀수");
	printf("absolute()의 결과: %d\n", absolute(n));
	printf("sign()의 결과: %d\n", sign(n) == -1 ? "음수" : "양수");
	return 0;
}
int even(int n)
{
	return (n % 2 == 0);
}
int absolute(int n)
{
	if (n < 0) {
		n = -1 * n;
	}
	else {
		n = n;
	}
	return n;
}
int sign(int n)
{
	if (n < 0) {
		return -1;
	}
	else {
		return 0;
	}
}

1. 내가 만든 잘못된 코드(even, sign 함수값이 쓰레기값이 나옴)

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int even(int n);
int absolute(int n);
int sign(int n);

int main()
{
	int n;
	printf("정수를 입력하시오: ");
	scanf("%d", &n);
	printf("even()의 결과: %s\n", even(n) ? "짝수" : "홀수");
	printf("absolute()의 결과: %d\n", absolute(n));
	printf("sign()의 결과: %s\n", sign(n) == -1 ? "음수" : (sign(n) == 1 ? "양수" : "0"));
	return 0;
}

int even(int n)
{
	return (n % 2 == 0);
}

int absolute(int n)
{
	return (n < 0) ? -n : n;
}

int sign(int n)
{
	if (n < 0) {
		return -1;
	} else if (n > 0) {
		return 1;
	} else {
		return 0;
	}
}

2. 수정된 코드, 조건연산자 사용법을 좀더 숙지해야함

'C' 카테고리의 다른 글

이차원 배열 인수전달  (0) 2024.05.27
두 점 사이의 거리 구하는 함수  (0) 2024.05.26
소문자 -> 대문자 변경 함수  (0) 2024.05.26
2차원 배열 왼쪽으로 90도 회전하기  (0) 2024.05.26
배열 연습  (0) 2024.05.25