C 那边:同一件事要手写几句"还"
🔴 这一节把同一件事在三种语言里各做一遍:**C 手动 free、C++ 用 RAII、Python 交给运行时**。每道题的 code_language 不一样,注意看题面标的是哪一种。
(这一段是 C,用 gcc -std=c11 -O0 -Wall 编译)
#include <stdio.h>
#include <stdlib.h>
static int frees_written = 0; /* 手写了几句"还" */
int main(void) {
int *a = malloc(sizeof(int) * 2);
int *b = malloc(sizeof(int) * 2);
int *c = malloc(sizeof(int) * 2);
if (!a || !b || !c) return 1;
a[0] = 1; b[0] = 2; c[0] = 3;
int s = a[0] + b[0] + c[0];
free(a); frees_written++;
free(b); frees_written++;
free(c); frees_written++;
printf("%d/%d\n", s, frees_written);
return 0;
}
全部评论