/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
%d ?
Fra : Ukendt


Dato : 12-03-02 19:21

Hej hej!
Jeg fandt følgende kode, men jeg kan ikke helt forstå hvad %d'et betyder..
Hvordan kan det være, at det er et d?

---
unsigned char *p, tal=5;
p = &tal;
*p = 8;
printf(" tal = %d \n",tal);
---



 
 
holst (12-03-2002)
Kommentar
Fra : holst


Dato : 12-03-02 19:37


"König" <knep> wrote in message
news:3c8e4705$0$249$edfadb0f@dspool01.news.tele.dk...
> Hej hej!
> Jeg fandt følgende kode, men jeg kan ikke helt forstå hvad %d'et betyder..
> Hvordan kan det være, at det er et d?
>
> ---
> unsigned char *p, tal=5;
> p = &tal;
> *p = 8;
> printf(" tal = %d \n",tal);
> ---

Hej

%d betyder at den variabel der skal sættes ind på %d's plads skal være en
decimal integer. I dette tilfælde er det variablen "tal", der indsættes.
Der er andre i samme boldgade...
%c = character
%f = floating point number
osv.

Håber det hjalp lidt...
mvh, Allan Eriksen



Byrial Jensen (12-03-2002)
Kommentar
Fra : Byrial Jensen


Dato : 12-03-02 20:30

König <> skrev:
> Hej hej!
> Jeg fandt følgende kode, men jeg kan ikke helt forstå hvad %d'et betyder..
> Hvordan kan det være, at det er et d?
>
> unsigned char *p, tal=5;
> p = &tal;
> *p = 8;
> printf(" tal = %d \n",tal);

Det er et %d fordi det andet argument i funktionskaldet konverteres
fra være en "unsigned char" til en "int". Fænomenet kaldes "integral
promotion" og sker når der ikke er nogen prototype til at fortælle
den forventede type af et funktionsargument. (Hvis der ikke er en,
eller, som her, hvis funktionen tager et varierende antal argumenter
hvis typer ikke kan erklæres).

Bertel Lund Hansen (12-03-2002)
Kommentar
Fra : Bertel Lund Hansen


Dato : 12-03-02 23:14

König skrev:

>Jeg fandt følgende kode, men jeg kan ikke helt forstå hvad %d'et betyder.

Jeg bruger "%i" i stedet for. Den gør nøjagtig det samme, og jeg
er vant til betegnelsen integer. D'et står for noget med
"decimal" - altså i betydningen "titalssystemet".

--
Bertel
http://lundhansen.dk/bertel/   FIDUSO: http://fiduso.dk/

Richard Flamsholt (13-03-2002)
Kommentar
Fra : Richard Flamsholt


Dato : 13-03-02 00:27

Bertel Lund Hansen <nospam@lundhansen.dk> skrev:
>Jeg bruger "%i" i stedet for. Den gør nøjagtig det samme, og jeg
>er vant til betegnelsen integer.

I praksis bruger alle %d og ingen %i. Sådan er konventionen. Rigtig
mange programmører kender endda kun %d og aner slet ikke, at der også
findes en %i.

Derfor er det en god ide selv at bruge %d fremfor %i. Dels gør det ens
egen kode lettere at læse for flertallet af C-programmører og dels får
man selv lidt lettere ved at læse andres kode. At følge konventionerne
er en God Ting.

--
Richard Flamsholt
richard@flamsholt.dk - www.richard.flamsholt.dk

Bertel Lund Hansen (13-03-2002)
Kommentar
Fra : Bertel Lund Hansen


Dato : 13-03-02 07:08

Richard Flamsholt skrev:

>I praksis bruger alle %d

Øv.

>At følge konventionerne er en God Ting.

Absolut. I mit storsind vil jeg skam også tillade alle at følge
min konvention.

(Dit svar er i øvrigt taget til efterretning)

--
Bertel
http://lundhansen.dk/bertel/   FIDUSO: http://fiduso.dk/

Klaus Hebsgaard (15-03-2002)
Kommentar
Fra : Klaus Hebsgaard


Dato : 15-03-02 12:15

Her er et link der meget godt beskriver det du efterspørger:

http://www.cplusplus.com/ref/


MVH

Klaus



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste