Sådan bruges %i og %d til at udskrive heltal i C ved hjælp af printf()

Sadan Bruges I Og D Til At Udskrive Heltal I C Ved Hjaelp Af Printf



I programmeringssproget C spiller formatspecifikationerne en afgørende rolle, da de hjælper dig med at vise en værdi ved outputtet. Disse formatspecifikationer bruges sammen med printf()-funktionen til at angive den type data, der skal udlæses. En af de meget anvendte formatspecifikationer i programmeringssproget C er %jeg og %d som bruges til at udskrive heltal.

Hvis du ikke kender til %jeg og %d formatspecifikationer, følg denne artikels retningslinjer.

%i Formatspecifikation

I programmeringssproget C er %jeg bruges til at udskrive et heltal med fortegn, når det bruges med printf()-funktionen. De fortegnede heltal er dem, der enten kan være positive eller negative. I C-programmering ved brug af %i skal argumentværdien, der sendes, være et udtryk eller en heltalstype, som automatisk evalueres i en heltalsdatatype. Du kan også bruge %jeg specifier for at læse en tegnværdi, der kommer inden for området for et fortegnsheltal.







%d Formatspecifikation

Det %d format specifier på den anden side bruges til at udskrive det usignerede heltal i C-programmeringssproget. Her er heltal uden fortegn positive heltal. I C-sprog, når du bruger %d, så er værdien af ​​argumenterne int .



Forskelle

Begge %jeg og %d formatspecifikationer bruges ofte i programmeringssproget C til udskrivning af heltal. De kan se ens ud med hensyn til brug samt opføre sig på samme måde, når de bruger printf()-funktionen.



Lad os følge op med en prøvekode, hvor begge formatspecifikationer bruges.





#include

int vigtigste ( ) {

int ciffer ;

printf ( 'Indtast et vilkårligt ciffer: ' ) ;

scanf ( '%jeg' , & ciffer ) ;

printf ( ' \n Cifferet er: %i \n ' , ciffer ) ;

printf ( 'Cifferet er: %d \n ' , ciffer ) ;

Vend tilbage 0 ;

}

I denne kode initialiserer vi først en variabel og tager værdi fra brugeren ved hjælp af scanf(). Så viser vi output vha %d og %i .

Produktion:



Begge giver et lignende output, når de bruges sammen med printf() fungere. Det er lige meget om du indtaster den positive værdi eller negativ, resultatet vil altid være det samme.

Men hvis vi ser på scanf-funktionen, kan vi differentiere dem korrekt. I ovenstående kode, hvis vi indtaster en decimalværdi som f.eks '012' . Hvis vi bruger '%d' i stedet for %jeg, du vil få output 12. Årsagen er, at %d ignorerer værdien 0 nul fra brugerens input.

#include

int vigtigste ( ) {

int ciffer ;

printf ( 'Indtast et vilkårligt ciffer: ' ) ;

scanf ( '%d' , & ciffer ) ;

printf ( ' \n Cifferet er: %i \n ' , ciffer ) ;

printf ( 'Cifferet er: %d \n ' , ciffer ) ;

Vend tilbage 0 ;

}

Produktion

Hvis den samme værdi indtastes vha %jeg som i scanf()-funktionen, vil outputtet være 10 i dette tilfælde. Årsagen er %jeg udskriver decimalværdien af ​​012 (oktal repræsentation).

#include

int vigtigste ( ) {

int ciffer ;

printf ( 'Indtast et vilkårligt ciffer: ' ) ;

scanf ( '%jeg' , & ciffer ) ;

printf ( ' \n Cifferet er: %i \n ' , ciffer ) ; //sko output

printf ( 'Cifferet er: %d \n ' , ciffer ) ; //sko output

Vend tilbage 0 ;

}

Konklusion

Formatspecificator er et mønster, der til at begynde med starter med % tegn, og det fortæller os normalt, hvilken slags data der placeres i input, og hvilke data der skal vises. %d og %jeg er to specifikationer, der er meget brugt i C-programmering. De ligner hinanden, når de bruges med printf()-funktionen, men de udsender forskellige resultater, når de bruges med scanf()-funktionen.