C언어/예제

[C] 숫자의 각 자릿수를 공백으로 분리하여 출력하는 프로그램2

thpop 2024. 10. 15. 13:59
반응형

앞서 똑같은 프로그램을 만들어 본 적이 있다.

(※ 숫자의 각 자릿수를 공백으로 분리하여 출력하는 프로그램: https://thpop.tistory.com/13)

 

앞선 경우에서는 %d를 이용하여 프로그램을 만들었지만, 이번에는 %c를 이용하여 프로그램을 만들어 볼 것이다.

 

이때 주의해야 될 점은 %c를 이용하여 값을 입력받게 되면, 이는 아스키코드의 형태로 저장된다는 것이다.

아스키 코드 표 (출처:https://www.asciitable.com/)

즉 프로그램이 0을 입력받았다면, %c에 저장되는 값은 48인 것이다.

따라서 이를 %d로 변환하려면 48을 빼주어야 한다.

 

이를 이용하여 프로그램을 짠다면 다음과 같다.

#include <stdio.h>

int main() {
	char c1,c2,c3,c4,c5;
	scanf("%c%c%c%c%c", &c1,&c2,&c3,&c4,&c5);
	printf("%d %d %d %d %d",c1-48,c2-48,c3-48,c4-48,c5-48);
	return 0;
}

 

이 프로그램의 출력 결과 예시는 다음과 같다.

07842
0 7 8 4 2
반응형