I made a simple C program with empty main as given below and compiled it with gcc

```
void main(){
}

```

upon execution, it return exit code as `25`,
and if I add a printf statement,after including stdio.h, it returns exit code `5`

what's the meaning of `25` and `5` here and why it's being returned by whatever code that is executed before or after main()?
exit code is zero if I use int main() and don't put a return statement.