Qual é o valor de retorno de uma chamada de função se essa função realmente não fornecer uma

Digamos que temos o seguinte código:

int func(char str[], int len) {
    // Don't return anything here.
}

int main() {
    char str[] = "Hello";
    int result = func(str, strlen(str));
    printf("%d\n", result);
}

Ele imprimirá algum valor de string -1679929632 no meu computador. E muda de tempos em tempos quando executo.

Alguém pode explicar por que isso aconteceu?

questionAnswers(1)

yourAnswerToTheQuestion