4 svar
56 visningar
Maremare är nöjd med hjälpen!
Maremare 1124
Postad: 22 dec 2020

hur kan (int) d vara 0 ?

Jag förstår i princip allting utom varför på näst sista raden (int)d[5] är = 0 ?

hur kan det vara 0, vart framgår det eller hur kan man se det?

Yngve 19159 – Volontär digitala räknestugor
Postad: 22 dec 2020 Redigerad: 22 dec 2020

d[0] = 'H'

d[1] = 'E'

d[2] = 'L'

d[3] = 'L'

d[4] = 'O'

d[5] = \nul

Strängar i C är nullterminerade, dvs de avslutas av ett tecken med ascii-kod 0.

Maremare 1124
Postad: 22 dec 2020
Yngve skrev:

d[0] = 'H'

d[1] = 'E'

d[2] = 'L'

d[3] = 'L'

d[4] = 'O'

d[5] = \nul

Strängar i C är nullterminerade, dvs de avslutas av ett tecken med ascii-kod 0.

aa okej så i C är det strängens storlek + 1 alltid = 0 ?

Jag är osäker på vad du menar.

Jag menar att en sträng som är n tecken lång lagras i form av n+1 tecken i en array där tecknet på position 0 är strängens första tecken, tecknet på position n-1 är strängens sista tecken och att det lagras ett nulltecken på position n.

Maremare 1124
Postad: 29 dec 2020
Yngve skrev:

Jag är osäker på vad du menar.

Jag menar att en sträng som är n tecken lång lagras i form av n+1 tecken i en array där tecknet på position 0 är strängens första tecken, tecknet på position n-1 är strängens sista tecken och att det lagras ett nulltecken på position n.

aa okej exakt det jag undrade, tusen tack för hjälpen!

Svara Avbryt
Close