본문 바로가기

Study/정보처리기사

C언어 Level 10

1~5. 다음 코드에 대한 출력 결과를 쓰시오.

 

1.

#include <stdio.h>
void callback(int num) {
    printf("Callback: %d\n", num);
}
void process(int num, void (*cb)(int)) {
    cb(num);
}
int main() {
    process(42, callback);
    return 0;
}

 

2.

#include <stdio.h>
#include <stdlib.h>
void optimizeMemory(int *arr, int size) {
    for (int i = 0; i < size; i++) {
        arr[i] *= 2;
    }
}
int main() {
    int *arr = (int *)malloc(5 * sizeof(int));
    for (int i = 0; i < 5; i++) {
        arr[i] = i + 1;
    }
    optimizeMemory(arr, 5);
    for (int i = 0; i < 5; i++) {
        printf("%d ", arr[i]);
    }
    free(arr);
    return 0;
}

 

3.

main.c

#include <stdio.h>
#include "math_ops.h"
int main() {
    int result = add(3, 4);
    printf("%d\n", result);
    return 0;
}

 

math_ops.h

#ifndef MATH_OPS_H
#define MATH_OPS_H
int add(int a, int b);
#endif

 

math.ops.c

#include "math_ops.h"
int add(int a, int b) {
    return a + b;
}

 

4.

#include <stdio.h>
#include <stdlib.h>
int main() {
    int *arr = (int *)malloc(3 * sizeof(int));
    for (int i = 0; i < 3; i++) {
        arr[i] = i + 1;
    }
    arr = (int *)realloc(arr, 5 * sizeof(int));
    arr[3] = 4;
    arr[4] = 5;
    for (int i = 0; i < 5; i++) {
        printf("%d ", arr[i]);
    }
    free(arr);
    return 0;
}

 

5.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
int main() {
    int sock = socket(AF_INET, SOCK_STREAM, 0);
    struct sockaddr_in server;
    server.sin_family = AF_INET;
    server.sin_port = htons(8080);
    server.sin_addr.s_addr = INADDR_ANY;
    
    connect(sock, (struct sockaddr *)&server, sizeof(server));
    
    char message[100] = "Hello, Server!";
    send(sock, message, strlen(message), 0);
    
    close(sock);
    return 0;
}

 


 

정답
(드래그 시 정답이 보입니다.)

1. Callback: 42
2. 2 4 6 8 10
3. 7
4. 1 2 3 4 5
5. 없음 (서버에 메시지를 전송)

'Study > 정보처리기사' 카테고리의 다른 글

JAVA Level 2  (0) 2025.02.21
JAVA Level 1  (0) 2025.02.21
C언어 Level 9  (0) 2025.02.20
C언어 Level 8  (0) 2025.02.20
C언어 Level 7  (0) 2025.02.20