Jei nežinote apie %i ir %d formato specifikacijų, vadovaukitės šio straipsnio gairėmis.
%i Formato specifikatorius
C programavimo kalba, %i naudojamas spausdinti sveikąjį skaičių su ženklu, kai naudojamas su funkcija printf(). Ženkliniai sveikieji skaičiai yra tie, kurie gali būti teigiami arba neigiami. C programuojant, naudojant %i, perduodama argumento reikšmė turi būti išraiška arba sveikojo skaičiaus tipas, kuris automatiškai įvertinamas sveikojo skaičiaus duomenų tipe. Taip pat galite naudoti %i specifier, kad nuskaitytų simbolio reikšmę, kuri patenka į sveikojo ženklo diapazoną.
%d formato specifikatorius
The %d Kita vertus, formato specifikatorius naudojamas beženkliam sveikajam skaičiui išspausdinti C programavimo kalba. Čia beženkliai sveikieji skaičiai yra teigiami sveikieji skaičiai. C kalba, kai naudojate %d, tada įveskite argumentų reikšmę tarpt .
Skirtumai
Abu %i ir %d formato specifikacijos C programavimo kalboje dažnai naudojamos sveikiesiems skaičiams spausdinti. Jie gali atrodyti panašiai naudojimo požiūriu, taip pat elgtis taip pat naudojant funkciją printf().
Toliau pateiksime pavyzdinį kodą, kuriame naudojami abu formato specifikacijos.
#include
tarpt pagrindinis ( ) {
tarpt skaitmenų ;
printf ( 'Įveskite bet kurį skaitmenį: ' ) ;
scanf ( '%i' , & skaitmenų ) ;
printf ( “ \n Skaičius yra: %i \n “ , skaitmenų ) ;
printf ( 'Skaičius yra: %d \n “ , skaitmenų ) ;
grąžinti 0 ;
}
Šiame kode pirmiausia inicijuojame kintamąjį ir paimame vertę iš vartotojo naudojant scanf (). Tada parodome išvestį naudojant %d ir %i .
Išvestis:
Abi suteikia panašią išvestį, kai naudojamos su printf() funkcija. Nesvarbu, ar įvesite teigiamą ar neigiamą reikšmę, rezultatas visada bus toks pat.
Tačiau jei pažvelgsime į Scanf funkciją, galime jas teisingai atskirti. Aukščiau pateiktame kode, jei įvesime dešimtainę reikšmę, pvz „012“ . Jei naudosime „%d“ vietoj %i, gausite išvestį 12. Priežastis ta %d nepaiso 0 nulinės reikšmės iš vartotojo įvesties.
#includetarpt pagrindinis ( ) {
tarpt skaitmenų ;
printf ( 'Įveskite bet kurį skaitmenį: ' ) ;
scanf ( „%d“ , & skaitmenų ) ;
printf ( “ \n Skaičius yra: %i \n “ , skaitmenų ) ;
printf ( 'Skaičius yra: %d \n “ , skaitmenų ) ;
grąžinti 0 ;
}
Išvestis
Jei ta pati reikšmė įvedama naudojant %i kaip ir funkcija scanf(), šiuo atveju išvestis bus 10. Priežastis yra %i spausdina dešimtainę reikšmę 012 (aštuontainė atvaizdavimas).
#includetarpt pagrindinis ( ) {
tarpt skaitmenų ;
printf ( 'Įveskite bet kurį skaitmenį: ' ) ;
scanf ( '%i' , & skaitmenų ) ;
printf ( “ \n Skaičius yra: %i \n “ , skaitmenų ) ; //batų išvestis
printf ( 'Skaičius yra: %d \n “ , skaitmenų ) ; //batų išvestis
grąžinti 0 ;
}
Išvada
Formato specifikacija yra šablonas, kuris iš pradžių prasideda % ženklas ir paprastai nurodo, kokie duomenys yra įvesti ir kokie duomenys turi būti rodomi. %d ir %i yra dvi specifikacijos, plačiai naudojamos C programavimui. Jie yra panašūs, kai naudojami su funkcija printf(), tačiau jie pateikia skirtingus rezultatus, kai naudojami su funkcija scanf().