Prečo sa %c používa v C?
Rovnako ako každý iný programovací jazyk, aj C má pevnú syntax, ktorú je potrebné dodržiavať pri vytváraní programov. Základná syntax jazyka C je taká, že používatelia musia zahrnúť C hlavičkové súbory prvé, ktoré sú
int Hlavná ( neplatné ) {
}
A na zobrazenie výstupu sa používa príkaz print. Skúsme napríklad vytlačiť list k ako výstup a na to použite nižšie napísaný príkaz v hlavnej funkcii:
printf ( '%d' , 'k' ) ;
Vo výstupe môžete vidieť, že namiesto písmena k, ako výstup sa zobrazí číslo. Zmätený?
Teraz pochopme tento koncept, prečo je namiesto znaku vytlačené číslo k , takže odpoveď je, že počítač je stroj, ktorý pracuje na číslach, takže každý znak alebo písmeno má ekvivalentné číslo stroja (kód ASCII). Napríklad; vo vyššie uvedenom príklade ekvivalentné číslo stroja pre k je 107 . Ak používateľ používa %d so znakom, potom program zobrazí ASCII kód znaku a nie pôvodný znak.
Páči sa mi to %d , %c sa používa na zobrazenie pôvodného znaku. Teraz spustite rovnaký príkaz uvedený vyššie na tlač k len vymeniť %d s %c , ako je ukázané nižšie:
printf ( '%c' , 'k' ) ;
Teraz vo výstupe jasne vidíte, že namiesto čísla je to písmeno k sám je vytlačený. Takže, kedykoľvek chcú používatelia vytlačiť znak, môžu použiť %c vnútri príkazu na tlač. The %c predstavuje 'postava' a informuje kompilátor, že je potrebný znakový výstup:
Použitie %c v poliach
Teraz vytlačíme pole znakov pomocou %c s príkazom na tlač. V nižšie uvedenom programe som definoval pole 9 znaky a chcem vytlačiť tieto presné prvky poľa jeden po druhom. Na to som použil a pre slučku vnútri ktorého printf príkaz je prítomný spolu s %c :
#include#include
int Hlavná ( neplatné ) {
char pole [ ] = { 'L' , 'ja' , 'N' , 'IN' , 'X' , 'H' , 'ja' , 'N' , 'T' } ;
pre ( int X = 0 ; X < 9 ; X ++ ) {
printf ( '%c' , pole [ X ] ) ;
printf ( ' \n ' ) ;
}
}
Po spustení programu môžete vidieť, že výstup zobrazuje znak jeden po druhom:
Teraz ponechajte program rovnaký a vymeňte ho %c s %d vnútri príkazu printf a všimnite si rozdiel vo výstupe:
#include#include
int Hlavná ( neplatné ) {
char pole [ ] = { 'L' , 'ja' , 'N' , 'IN' , 'X' , 'H' , 'ja' , 'N' , 'T' } ;
pre ( int X = 0 ; X < 9 ; X ++ ) {
printf ( '%d' , pole [ X ] ) ;
printf ( ' \n ' ) ;
}
}
Teraz vo výstupe to môžete vidieť jednoduchou zmenou %c, výstup sa úplne zmenil. Namiesto znakov sa zobrazia ich ASCII kódy:
Záver
The %c v programovacom jazyku C sa na reprezentáciu znaku používa. Napríklad, ak chcú používatelia vytlačiť znak alebo pole znakov, ktoré môžu jednoducho použiť %c pomocou príkazu printf, aby ste informovali kompilátor, že výstup sa vyžaduje vo forme znakov. Ak %d sa používa namiesto %c , výstup sa úplne zmení a namiesto zobrazenia znakového výstupu zobrazí ASCII kód každého znaku.