2016-05-04 34 views
-1

Gemäß der ASCII-Tabelle beträgt der Wert des neuen Zeilenzeichens (\ n) 13, während der Wert von Carriage Return (CR) 13 ist. Beim Versuch, ein Programm zu schreiben, das erkennt, ob die Eingabetaste gedrückt wurde. Ist es sicher, den Wert zu verwenden?Unterschied zwischen n und CR

if((kr=getchar()) == 13) 

    puts("Enter Key Pressed ") ; 

oder

if((kr=getchar()) == '\n') 

    puts("Enter Key Pressed ") ; 
+0

C ist nicht garantiert, ASCII zu verwenden. –

+0

Kurze Antwort ist: Verwenden Sie '\ n' – nikaltipar

+2

Der Wert des Zeilenvorschubs Zeichen ist 10, eher. Deine Frage macht also keinen Sinn. – Lundin

Antwort

4

Kurze Antwort: Sie sollten immer '\n' verwenden.

Lange Antwort: Ja, Carriage Return ist ASCII 13 '\r' in C ist Newline ASCII 10 (nicht 13) und ist '\n' in C.

Aber die gedrückte Taste ist nicht notwendigerweise die gleiche als das Zeichen, das Sie in einem C-Programm erhalten, aus zwei Gründen:

  1. Das Betriebssystem kann Dinge zuordnen. Zum Beispiel unter Unix und Linux, im normalen ("gekochten") Modus des Terminaltreibers, ist die Return-Taste einem Linefeed zugeordnet (sendet). In C ist das bevorzugte Zeichen für "die neue Zeile" immer '\n'. Auch wenn das zugrundeliegende Betriebssystem andere Konventionen hat, sollte Ihr Programm unter normalen Umständen eine '\n' für eine neue Zeile erhalten. (Und wenn Sie ein '\n' drucken, wird es übersetzt Rückkehr zum Wagen, Zeilenvorschub oder einen Wagenrücklauf/Zeilenvorschub-Paar, je nach Betriebssystem Konventionen.)

Schließlich, was auch immer Sie tun, auch wenn Sie tun Um Carriage Returns explizit zu behandeln, verwenden Sie bitte '\r' und '\n' in C-Programmen. Erzähle deinen Lesern nicht, was die magischen Zahlen 10 und 13 (oder 0x0a und 0x0d) sind.

2

können Sie verwenden entweder eine, aber Sie sollten auf jeden Fall \n verwenden, weil die Menschen es ohne eine externe Referenz lesen kann.

+0

durch externe Referenz, meinst du die ASCII-Tabelle? –

+0

@DogusUral: Ja. –

0

Ich denke, dass beide Werte gleich sind, aber für einen lesbareren Code sollten Sie "\ n" verwenden, oder Kommentare in dem anderen Fall verwenden, um zu erklären, was Sie von der Tastatur erwarten.

Verwandte Themen