O que strcmp () retorna exatamente em C?

Eu escrevi este código em C:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>

int main()
{
    char string1[20];
    char string2[20];
    strcpy(string1, "Heloooo");
    strcpy(string2, "Helloo");
    printf("%d", strcmp(string1, string2));
    return(0);
}

O console deve imprimir o valor 1 ou a diferença entreASCII valores deo e\0 caractere, ou seja, 111? Emesse site, está escrito que isso deve colocar 111, mas quando eu o executo no meu laptop, ele mostra 1. Por que?

questionAnswers(6)

yourAnswerToTheQuestion