본문 바로가기
프로그래밍/C, C++

[C언어] 실수(소수)를 정수부분, 소수점 부분으로 쪼개서 정수형 2개로 받아보자

by JR2 2021. 4. 1.

hyun222.tistory.com/106

 

[C언어] 날짜, 연도 형식으로 입력받고 출력하기

예제 : codeup.kr/problem.php?id=1019 솔루션 : #include int main(void) { int a, b, c; scanf("%d.%d.%d", &a, &b, &c); printf("%04d.%02d.%02d", a, b, c); return 0; } 입력 받을 때는 . 으로 정수를 구분해..

hyun222.tistory.com

이걸 살짝쿵 응용한 꼼수라고 보면 된다.

 

코드를 보자.

 

#include <stdio.h>

int main(void)
{
	int a, b;
	scanf("%d.%d", &a, &b);
	printf("%d.%d", a, b);
	return 0;
}

분명히 3.123 같은 실수를 입력 했는데,

3은 a에, 123은 b에 저장이 된걸 확인할 수 있다.

.을 기준으로 문자를 나누기 때문에 이런 코딩이 가능하다.

 

그런데 만약 소수점 부분이 0으로 시작한다면, 이 소스코드는 사용할 수 없다.

필요에 따라서 잘 사용하면 될 것 같다.

댓글