- 다음을 참고로 표준입력으로 받은 int 형의 두 정수의 사칙연산을 수행하는 프로그램을 작성하시오.
- double 형 변수의 8바이트 저장 구조를 각각 4바이트의 저장 구조로 생각해서 표준입력으로 받은 두 정수를 저장
- 두 정수에 대하여 사칙연산을 수행
#include<stdio.h>
# define MAX(x,y) ((x)>(y))? x : y
# define MIN(x,y) ((x)<(y))? x : y
int main()
{
int* a = NULL; // 포잍너는 반드시 선언을 해줘야 하기 때문에 NUll 값으로라도 해야 한다.
int* b = NULL;
double data1 = 0; // intintailzing = 이 메모리를 이만큼 할당하겠습니다
// 할당된 메모리에, scanf 로 받고 시은 정루슬 받을 것이고
// 하나는 그곳 그대로, 하나는 주소값 + 4해서.
printf("두 정수를 입력하세요\n");
scanf("%d %d", &data1, &(data1)+sizeof(int));
/*
scanf >> &a : 주소값을 인자로 넣어주는 것
%d , %(d+4) / &(d+sizeof(int))
*/
// 정수로 받겠습니다. 라는 표현.
// < > < > < > < >, < > < > < > < > 8개로 선언해주되
// 앞 4byte는 int, 뒤에 +4 주소값해서 또 int 받기.
// 즉, scanf 가 꼭 initialiation과 맞출 필요가 없다.
a = &data1;
b = &data1+sizeof(int); // &( data1 + sizeof(int) )는 안된다. 괄호 밖으로 빼야 한다.
printf("a = %d b = %d\n", *a, *b);
printf("%두 정수의 합은 %d입니다\n", *a + *b);
printf("%두 정수의 차는 %d입니다\n", *a - *b);
printf("%두 정수의 곱은 %d입니다\n", *a * *b);
printf("%두 정수의 나눗셈은 %d입니다\n", *a / *b);
return 0;
}