C언어/예제

[C] 두 정수 더하기

thpop 2024. 7. 8. 19:06
반응형

두 정수를 입력받고, 그 정수들을 더한 합을 출력해볼 것이다.

 

#include <stdio.h>

int main(void) {
	int integer1 = 0;
	int integer2 = 0;

	printf("Enter first integer: ");
	scanf("%d", &integer1);

	printf("Enter second integer: ");
	scanf("%d", &integer2);

	int sum = 0;
	sum = integer1 + integer2;

	printf("Sum is %d\n", sum);

 

위의 코드를 입력하면 해당 문장이 출력되는 것을 볼 수 있다.

 

이 위에 있는 코드의 구조를 분석해보자.

#include <stdio.h>

int main(void) {

이 부분은 지난 글에서 설명했으므로 설명을 생략한다.

(※ 필요하다면 참고 : https://thpop.tistory.com/8)

 

int integer1 = 0;
int integer2 = 0;

 

이 두 문장은 integer1 integer2를 정의하는 문장이다. 

integer1 integer2는 변수이며, int는 이들이 정수형(int type)을 갖도록 한다.

 

이 두 문장은 두 변수가 0이라는 값을 갖게 한다.

 

printf("Enter first integer: ");
scanf("%d", &integer1);

printf("Enter second integer: ");
scanf("%d", &integer2);

 

이 반복되는 문장들은 정수를 입력받고, 그 입력받은 정수를 획득하는 문장이다.

printf("Enter first integer: ")

 

이 문장은 "Enter first integer: "을 출력하여 사용자로 하여금 숫자를 입력하도록 하는 문장이다.

scanf("%d", &integer1);

 

이 문장은 입력받은 값을 읽는 함수이다.

scanf 함수 뒤의 괄호 안에 있는 두 요소인 "%d"&integer1에 대해서 알아보자.

 

"%d"format control string이라 불린다. 이것은 사용자가 어떤 타입의 데이터를 입력해야 하는지 나타낸다. 

 

%d 변환 지시어(conversion specification)는 데이터가 정수형이어야 한다는 것을 의미한다. 

 

이때 %d의 d 10진수(정수형, decimal integer)를 의미하며, 다른 종류도 존재한다.

 

&integer1에서 &(ampersand)주소 연산자(address operater)이다.

 

이 주소 연산자가 변수명과 결합되었을 때 scanf 함수에 해당 변수의 위치(location / address)를 반환하고, scanf 함수는 기억한 그 위치에 사용자가 입력한 값을 저장한다.

 

int sum = 0
sum = integer1 + integer2;

 

위의 문장은 sum이 0이라고 지정한 후, sum이라는 변수가 integer1 + integer2라는 표현의 값을 갖게 한다. 

 

printf("Sum is %d\n", sum)

 

마지막으로 이 문장은 Sum is ~~~를 출력하는 문장이고, ~~~에는 sum이라는 변수에 저장된 값이 들어간다.

 

 

그리고 맨 아래 세 문장에 걸친 합 출력 코드를 한 줄로 줄일 수 있는데, 아래와 같은 코드를 사용하면 된다.

printf("Sum is %d\n", integer1 + integer2);
반응형