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 |