지금까지 배운걸 토대로 간단한 계산기를 만들어보겠습니다.

우선 첫 예제입니다.

#include <stdio.h>
#include <stdlib.h>

int main() {
		int num1;
		int num2;
		printf("Enter first number: ");
		scanf("%d", &num1); 
		printf("Enter second number: ");
		scanf("%d", &num2);
		
		printf("Answer: %d", num1 + num2);

		return 0;
}

아래 화면을 보면 잘 작동한다는것을 볼 수 있습니다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/84892bf0-3126-4a97-a433-fcd7cb49ea9e/Untitled.png

하지만 이 프로그램에 문제가 있습니다.

무엇일까요?


아래 화면처럼 double/float를 사용하면 제대로 연산이 되지 않습니다.

이는 num1과 num2가 int로 선언되었기 때문입니다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/5e6881c4-de1d-473b-84d1-aa373e9aac4e/Untitled.png

고쳐봅니다.

int → double로 바꾸고 %d → %lf 로 바꿔줍니다.

#include <stdio.h>
#include <stdlib.h>

int main() {
		double num1;
		double num2;
		printf("Enter first number: ");
		scanf("%lf", &num1); 
		printf("Enter second number: ");
		scanf("%lf", &num2);
		
		printf("Answer: %lf", num1 + num2);

		return 0;
}

잘 작동하는 것을 볼 수 있습니다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/9723367f-e07c-4604-83f1-055ccb4ebd51/Untitled.png