Kung hindi mo alam ang tungkol sa %i at %d mga tagatukoy ng format, sundin ang mga alituntunin ng artikulong ito.
%i Format Specifier
Sa C programming language, ang %i ay ginagamit upang mag-print ng isang naka-sign integer kapag ginamit sa printf() function. Ang mga naka-sign na integer ay ang mga maaaring maging positibo o negatibo. Sa C programming kapag gumagamit ng %i ang argument value na dumadaan ay dapat na isang expression o isang integer type na awtomatikong sinusuri sa isang integer datatype. Maaari mo ring gamitin ang %i specifier upang basahin ang isang halaga ng character na nasa hanay ng isang naka-sign integer.
%d Tagatukoy ng Format
Ang %d format specifier sa kabilang banda ay ginagamit upang i-print ang unsigned integer sa C programming language. Dito ang mga unsigned integer ay mga positive integer. Sa wikang C kapag gumamit ka ng %d pagkatapos ay ang halaga ng uri ng mga argumento int .
Mga Pagkakaiba
pareho %i at %d ang mga format specifier ay madalas na ginagamit sa C programming language para sa pag-print ng mga integer. Maaari silang magkamukha sa mga tuntunin ng paggamit pati na rin ang pag-uugali kapag ginagamit ang printf() function.
Subaybayan natin ang isang sample code kung saan ginagamit ang parehong format specifier.
#include
int pangunahing ( ) {
int digit ;
printf ( 'Pakilagay ang anumang digit: ' ) ;
scanf ( '%i' , at digit ) ;
printf ( ' \n Ang digit ay: %i \n ' , digit ) ;
printf ( 'Ang digit ay: %d \n ' , digit ) ;
bumalik 0 ;
}
Sa code na ito, una naming sinisimulan ang isang variable at kumukuha ng halaga mula sa user gamit ang scanf(). Pagkatapos ay ipinapakita namin ang output gamit %d at %i .
Output:
Parehong nagbibigay ng katulad na output kapag ginamit sa printf() function. Hindi mahalaga kung ilalagay mo ang positibong halaga o negatibo, ang resulta ay palaging pareho.
Gayunpaman, kung titingnan natin ang function ng scanf, maaari nating maiiba ang mga ito nang tama. Sa code sa itaas, kung mag-input kami ng decimal na halaga tulad ng “012” . Kung gagamitin natin “%d” sa halip na %i, makukuha mo ang output 12. Ang dahilan ay iyon %d binabalewala ang 0 zero na halaga mula sa input ng user.
#includeint pangunahing ( ) {
int digit ;
printf ( 'Pakilagay ang anumang digit: ' ) ;
scanf ( '%d' , at digit ) ;
printf ( ' \n Ang digit ay: %i \n ' , digit ) ;
printf ( 'Ang digit ay: %d \n ' , digit ) ;
bumalik 0 ;
}
Output
Kung ang parehong halaga ay ipinasok gamit ang %i tulad ng sa scanf() function, ang output ay magiging 10 sa kasong ito. Ang dahilan ay %i nagpi-print ng decimal na halaga ng 012 (octal na representasyon).
#includeint pangunahing ( ) {
int digit ;
printf ( 'Pakilagay ang anumang digit: ' ) ;
scanf ( '%i' , at digit ) ;
printf ( ' \n Ang digit ay: %i \n ' , digit ) ; // output ng sapatos
printf ( 'Ang digit ay: %d \n ' , digit ) ; // output ng sapatos
bumalik 0 ;
}
Konklusyon
Ang format specifier ay isang pattern na sa simula ay nagsisimula sa % sign at kadalasang sinasabi nito sa amin kung anong uri ng data ang inilalagay sa input at kung anong data ang ipapakita. %d at %i ay dalawang specifier na malawakang ginagamit sa C programming. Magkapareho sila kapag ginamit sa printf() function ngunit naglalabas sila ng iba't ibang resulta kapag ginamit sa scanf() function.