Com utilitzar %i i %d per imprimir nombres enters en C amb printf()

Com Utilitzar I I D Per Imprimir Nombres Enters En C Amb Printf



En el llenguatge de programació C, els especificadors de format tenen un paper crucial, ja que us ajuden a mostrar un valor a la sortida. Aquests especificadors de format s'utilitzen amb la funció printf() per especificar el tipus de dades que cal sortir. Un dels especificadors de format àmpliament utilitzats en el llenguatge de programació C són %i i %d que s'utilitzen per imprimir els nombres enters.

Si no coneixeu el %i i %d especificadors de format, seguiu les directrius d'aquest article.

Especificador de format %i

En llenguatge de programació C, el %i s'utilitza per imprimir un nombre enter amb signe quan s'utilitza amb la funció printf(). Els nombres enters amb signe són els que poden ser positius o negatius. A la programació C quan s'utilitza %i, el valor de l'argument que passa ha de ser una expressió o un tipus d'enter que s'avalua automàticament en un tipus de dades enter. També podeu utilitzar el %i especificador per llegir un valor de caràcter que es troba dins de l'interval d'un nombre enter amb signe.







%d especificador de format

El %d D'altra banda, l'especificador de format s'utilitza per imprimir l'enter sense signe en el llenguatge de programació C. Aquí els enters sense signe són enters positius. En llenguatge C, quan utilitzeu %d, llavors el valor del tipus d'arguments int .



Diferències

Tots dos %i i %d Els especificadors de format s'utilitzen freqüentment en el llenguatge de programació C per imprimir nombres enters. Poden semblar similars en termes d'ús i comportar-se igual quan s'utilitza la funció printf().



Seguim amb un codi de mostra on s'utilitzen els dos especificadors de format.





#inclou

int principal ( ) {

int dígit ;

imprimirf ( 'Introduïu qualsevol dígit:' ) ;

escanf ( '%i' , & dígit ) ;

imprimirf ( ' \n El dígit és: %i \n ' , dígit ) ;

imprimirf ( 'El dígit és: %d \n ' , dígit ) ;

tornar 0 ;

}

En aquest codi, primer inicialitzem una variable i prenem valor de l'usuari mitjançant scanf(). A continuació, mostrem la sortida utilitzant %d i %i .

Sortida:



Tots dos proporcionen una sortida similar quan s'utilitzen amb printf() funció. No importa si introduïu el valor positiu o negatiu, el resultat sempre serà el mateix.

Tanmateix, si mirem la funció scanf, podem diferenciar-les correctament. En el codi anterior, si introduïm un valor decimal com “012” . Si fem servir '%d' en lloc de %i, obtindreu la sortida 12. El motiu és que %d ignora el valor 0 zero de l'entrada de l'usuari.

#inclou

int principal ( ) {

int dígit ;

imprimirf ( 'Introduïu qualsevol dígit:' ) ;

escanf ( '%d' , & dígit ) ;

imprimirf ( ' \n El dígit és: %i \n ' , dígit ) ;

imprimirf ( 'El dígit és: %d \n ' , dígit ) ;

tornar 0 ;

}

Sortida

Si s'introdueix el mateix valor utilitzant %i com en la funció scanf(), la sortida serà 10 en aquest cas. El motiu és %i imprimeix el valor decimal de 012 (representació octal).

#inclou

int principal ( ) {

int dígit ;

imprimirf ( 'Introduïu qualsevol dígit:' ) ;

escanf ( '%i' , & dígit ) ;

imprimirf ( ' \n El dígit és: %i \n ' , dígit ) ; //sortida de sabates

imprimirf ( 'El dígit és: %d \n ' , dígit ) ; //sortida de sabates

tornar 0 ;

}

Conclusió

L'especificador de format és un patró que comença inicialment amb el % signe i normalment ens indica quin tipus de dades es col·loquen a l'entrada i quines dades s'han de mostrar. %d i %i són dos especificadors àmpliament utilitzats en programació en C. Són similars quan s'utilitzen amb la funció printf() però donen resultats diferents quan s'utilitzen amb la funció scanf().