Скажем, у вас есть код C, подобный этому:
#include <stdio.h>
int main(){
printf("Hello, world!\n");
printf("%d\n", f());
}
int f(){
}
Он компилируется отлично с помощью gcc, а выход (в моей системе):
Привет, мир!
14
Но.. но.. как это возможно? Я думал, что C не позволит вам скомпилировать что-то подобное, потому что f() не имеет оператора return, возвращающего целое число. Почему это разрешено? Это функция C или компилятор, и откуда взялось 14?