Hvorfor dobbelt backslash "\\" fremfor en enkel?

greenspun.com : LUSENET : Grundlæggende Programmering E2000 : One Thread

I eksamensspørgsmålene fra sidste år bedes der i opgave 1 om, at man laver programmer, der kan printe forskellige figurer ud, bl.a. én som består af "*" og "\" -tegn. Men i besvarelserne står der, at man skal skrive to backslash, selvom man kun ønsker én i udprintningen, for at det skal virke. Hvorfor det? -og forventes vi at vide dette/kunne regne det ud?

-- Ursula Maegaard (ursula@it-c.dk), January 12, 2001

Answers

Backslash (\) er en såkaldt escape character i tegnstrenge (i Java, C, C++, Standard ML, mfl).

Hvis man gerne vil angive et linieskift i en streng, skal man skrive backslash-n, feks "linie 1\nlinie 2", og hvis man vil skrive et anførselstegn i en streng skal man sætte en backslash foran: "blah \"blu\" blah" (dem der har programmeret servletter vil genkende dette).

Man nå backslash bruges på denne måde, hvordan skal man så skrive en backslash? Det gør man ved at skrive backslash efterfulgt af backslash: "blah\\bluh".

Nej, der lægges ikke vægt på dette -- jeg mener vi sidste år gav et 13-tal til en studerende selvom hun havde overset denne subtilitet...

-- Peter Sestoft (sestoft@dina.kvl.dk), January 12, 2001.


Moderation questions? read the FAQ