Casa > 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.

O caractere de nova linha \n tem um significado especial quando usado em modo texto I/O: ele é convertido para o byte de nova linha ou seqüência de bytes específica do SO.

Sequências de escape octal têm um limite de três dígitos octais, mas terminam no primeiro caractere que não é um dígito octal válido se encontrado mais cedo.

Sequências de escape hexadecimais não têm limite de comprimento e terminam no primeiro caractere que não é um dígito hexadecimal válido. Se o valor representado por uma única seqüência de escape hexadecimal não se encaixa no intervalo de valores representados pelo tipo de caractere utilizado nesta string literal (char, char16_t, char32_t, ou wchar_t), o resultado não é especificado.

Um nome de caractere universal em uma string estreita literal ou uma string literal de 16 bits pode mapear mais de um caractere, por exemplo \U0001f34c é 4 unidades de código char em UTF-8 (\xF0\x9Fx8D\x8C) e 2 unidades de código char16_t em 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

De Lucille Wurz

Como digitar um N maiúsculo para trás :: O que é pressão de gage?