Odczyt r (carriage return) vs n (newline) z konsoli z getc?

Piszę funkcję, która zasadniczo czeka, aż użytkownik kliknie „enter”, a następnie coś zrobi. Co znalazłem, działa, gdy testowanie jest następujące:

<code>#include <stdio.h>

int main()
{
        int x = getc(stdin);
        if (x == '\n') {
                printf("carriage return");
                printf("\n");
        }
        else {
                printf("missed it");
                printf("\n");
        }
}
</code>

Pytanie, które mam, i na początku próbowałem:if (x == '\r') ale w testach program nie przyłapał mnie na wejściu. The'\n' Wydaje się, że odpowiada mi uderzenie z konsoli. Czy ktoś może wyjaśnić różnicę? Ponadto, aby zweryfikować, zapisz go jakoif... == "\n" oznaczałoby literał ciągu znaków? tj. użytkownik dosłownie musiałby wejść"\n" z konsoli, prawda?

questionAnswers(4)

yourAnswerToTheQuestion