Is de spatiebalk een teken?

Beschouw deze tekstregel:

Eerste regel tekst.

Als een tekenreeks stringwordt gebruikt om de eerste TIEN tekens in de reeks te laden, wordt dit uitgevoerd als:

First lin'\0'

Firstbevat 5 letters, linbevat 3 letters. Waar worden de andere twee tekens gebruikt?

Wordt \0beschouwd als twee tekens?

Of wordt de spatie tussen de woorden als een teken beschouwd, dus is ‘\0’ één teken?


Antwoord 1, autoriteit 100%

Ja, spatie is een teken. In ASCII-codering heeft het codenummer 32.


Antwoord 2, autoriteit 47%

De spatie tussen de twee woorden heeft ASCII-code 0x20 (0408of 3210); het neemt één byte in beslag.

De null aan het einde van de string, ASCII-code 0x00 (0 in zowel octaal als decimaal) neemt de andere byte in beslag.

Merk op dat de spatiebalk gewoon de toets op het toetsenbord is die een spatie genereert wanneer deze wordt getypt.


Antwoord 3, autoriteit 20%

'\0'is de null-terminator, het is letterlijk de waarde nul in alle implementaties.

'\0'wordt als één teken beschouwd omdat de backslash \om aan een teken te ontsnappen. '\0'en '0'zijn dus beide afzonderlijke tekens, maar betekenen heel verschillende dingen.

Houd er rekening mee dat ruimte wordt weergegeven door een andere ascii-waarde.


Antwoord 4

spatie wordt in String weergegeven als “\s”, waarschijnlijk wordt spatie weergegeven als ‘\s’ als teken

Other episodes