본문 바로가기

스터디/코딩

[ 코딩 도장 : C ] Unit 35. 메모리 사용하기 : 연습문제 / 심사문제

35.6 연습문제 : 메모리 할당하기

문제 ) 다음 소스 코드를 완성하여 2147483647 9223372036854775807이 출력되게 만드세요.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>

int main()
{
    int* numPtr1 = malloc(sizeof(int));
    long long* numPtr2 = malloc(sizeof(long long));

    *numPtr1 = INT_MAX;
    *numPtr2 = LLONG_MAX;

    printf("%d %lld\n", *numPtr1, *numPtr2);

    free(numPtr1);
    free(numPtr2);

    return 0;
}

 

 

35.7 심사문제 : 두 정수의 합 구하기

문제 ) 표준 입력으로 두 정수가 입력됩니다(입력 값의 범위는 0~1073741824). 다음 소스 코드를 완성하여 입력된 두 정수의 합이 출력되게 만드세요.

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

int main()
{
    int num1;
    int num2;

    int* numPtr1 = malloc(sizeof(int));
    int* numPtr2 = malloc(sizeof(int));

    scanf("%d %d", &num1, &num2);

    *numPtr1 = num1;
    *numPtr2 = num2;

    printf("%d\n", *numPtr1 + *numPtr2);

    free(numPtr1);
    free(numPtr2);

    return 0;
}