QNA > W > What Is The Meaning Of \N And \T In C Language?

What is the meaning of \n and \t in C language?

These are Escape sequences

Escape sequences are used to represent certain special characters within string literals and character literals.

The following escape sequences are available (extra escape sequences may be provided with implementation-defined semantics):

Escape
sequence

Description

Representation

\'

single quote

byte 0x27 in ASCII encoding

\"

double quote

byte 0x22 in ASCII encoding

\?

question mark

byte 0x3f in ASCII encoding

\\

backslash

byte 0x5c in ASCII encoding

\a

audible bell

byte 0x07 in ASCII encoding

\b

backspace

byte 0x08 in ASCII encoding

\f

form feed - new page

byte 0x0c in ASCII encoding

\n

line feed - new line

byte 0x0a in ASCII encoding

\r

carriage return

byte 0x0d in ASCII encoding

\t

horizontal tab

byte 0x09 in ASCII encoding

\v

vertical tab

byte 0x0b in ASCII encoding

\nnn

arbitrary octal value

byte nnn

\xnn

arbitrary hexadecimal value

byte nn

\unnnn

universal character name
(arbitrary Unicode value);
may result in several characters

code point U+nnnn

\Unnnnnnnn

universal character name
(arbitrary Unicode value);
may result in several characters

code point U+nnnnnnnn

Notes

Of the octal escape sequences, \0 is the most useful because it represents the terminating null character in null-terminated strings.

Il carattere new-line \n ha un significato speciale quando viene usato nell'I/O in modalità testo: viene convertito nel byte o nella sequenza di byte specifica del sistema operativo.

Le sequenze di escape ottali hanno un limite di tre cifre ottali, ma terminano al primo carattere che non è una cifra ottale valida se incontrato prima.

Le sequenze di escape esadecimali non hanno limiti di lunghezza e terminano al primo carattere che non è una cifra esadecimale valida. Se il valore rappresentato da una singola sequenza di escape esadecimale non rientra nella gamma di valori rappresentati dal tipo di carattere usato in questo letterale di stringa (char, char16_t, char32_t, o wchar_t), il risultato è non specificato.

Un nome di carattere universale in un letterale di stringa stretto o in un letterale di stringa a 16 bit può corrispondere a più di un carattere, ad esempio \U0001f34c è 4 unità di codice char in UTF-8 (\xF0\x9F\x8D\x8C) e 2 unità di codice char16_t in UTF-16 (\uD83C\uDF4C).

The question mark escape sequence \? is used to prevent trigraphs from being interpreted inside string literals: a string such as "??/" is compiled as "\", but if the second question mark is escaped, as in "?\?/", it becomes "??/"

Example

Run this code

  1. #include  
  2.  
  3. int main() 
  4. std::printf("This\nis\na\ntest\n\nShe said, \"How are you?\"\n"); 

Output:

  1. This 
  2. is 
  3. test 
  4.  
  5. She said, "How are you?" 

See also

  • ASCII chart

C documentation for Escape sequence

Di Hultin

Perché gli auricolari TWS sono così popolari? :: Qual è la cosa più "bianca" di te?
Link utili