관리 메뉴

History

[c언어]getchar 함수로 정숫값 입력받기 본문

C,C++/개념 실습 프로그래밍

[c언어]getchar 함수로 정숫값 입력받기

luckybee 2022. 10. 3. 14:36
728x90
반응형

보통 두 정수를 입력받아서 합을 출력하라고 하면 scanf 함수를 사용하는 것이 정석이다. 

 

이번 블로깅에서는 한 문자씩 입력받는 getchar 함수를 문자에서 정수로 변환한 후 585와 같은 3자리 정수를 어떻게 입력받는지 코드를 작성해보았다. 

 

아래는 두 정숫값을 getchar로 입력받아서 합을 출력하는 코드이다.

#include<stdio.h>
#pragma warning(disable:4996)

int ReturnInt()
{
	int ch;
	int num=0;
	while ((ch=getchar())!=EOF){
		if (ch>='0'&& ch <= '9') {  //문자 0~9사이면
			num = (num * 10) + ch - '0';
		} else if (ch=='\n') {  //Enter을 입력했으면 반복문 탈출
			break;
		}else {
			printf("\n");
			break;
		}
	}
	return num;
}

int main()
{
	int num1,num2;
	num1 = ReturnInt();
	num2 = ReturnInt();

	printf("두 값의 합: %d",num1+num2);
	return 0;
}

간단하게 요약하면 코드에서 ch-'0'을 하면 '0'~'9'의 문자들이 정수 0~9로 바뀐다. 그리고 num에는 자릿수를 계산하여 대입을 진행한다.

 

아래는 실행화면이다.

 

실행화면

 

 

728x90
반응형
Comments