Miért használják a %c-t C-ben?
Mint minden más programozási nyelvnek, a C-nek is van egy rögzített szintaxisa, amelyet követni kell a programok létrehozásához. A C alapvető szintaxisa az, hogy a felhasználóknak tartalmazniuk kell a C fejléc fájlok először, melyek azok
int fő- ( üres ) {
}
És egy nyomtatási parancsot használnak a kimenet megjelenítésére. Például próbáljunk kinyomtatni egy levelet k kimenetként, és ehhez használja az alábbi parancsot a fő függvényen belül:
printf ( '%d' , 'k' ) ;
A kimenetben ezt láthatja betű helyett k, kimenetként egy szám jelenik meg. Zavaros?
Most értsük meg ezt a fogalmat, hogy miért egy szám kerül kinyomtatásra a karakter helyett k , tehát a válasz az, hogy a számítógép egy olyan gép, amely számokon dolgozik, így minden karakterhez vagy betűhöz egyenértékű gépszám (ASCII kód) tartozik. Például; a fenti példában a gép megfelelő száma k van 107 . Ha egy felhasználó használja %d karakterrel, akkor a program a karakter ASCII kódját fogja megjeleníteni és nem az eredeti karaktert.
Mint %d , a %c az eredeti karakter megjelenítésére szolgál. Most futtassuk a fenti parancsot a nyomtatáshoz k csak cseréld ki %d val vel %c , az alábbiak szerint:
printf ( '%c' , 'k' ) ;
Most a kimeneten jól látható, hogy szám helyett betű k maga ki van nyomtatva. Így amikor a felhasználók ki akarnak nyomtatni egy karaktert, használhatják %c a nyomtatási parancson belül. A %c képviseli 'karakter' és tájékoztatja a fordítót, hogy karakterkimenetre van szükség:
%c használata a tömbökben
Most nyomtassunk ki egy karaktertömböt a segítségével %c nyomtatási paranccsal. Az alábbi programban egy tömböt definiáltam 9 karaktereket, és ezeket a tömbelemeket egyenként szeretném kinyomtatni. Ehhez használtam a hurokhoz amelyen belül a printf parancs mellett van jelen %c :
#include#include
int fő- ( üres ) {
char sor [ ] = { 'L' , 'ÉN' , 'N' , 'BAN BEN' , 'X' , 'H' , 'ÉN' , 'N' , 'T' } ;
számára ( int x = 0 ; x < 9 ; x ++ ) {
printf ( '%c' , sor [ x ] ) ;
printf ( ' \n ' ) ;
}
}
A program futtatása után láthatja, hogy a kimenet egyenként megjelenítette a karaktert:
Most tartsa ugyanazt a programot, és cserélje ki %c val vel %d a printf parancson belül, és vegye észre a különbséget a kimenetben:
#include#include
int fő- ( üres ) {
char sor [ ] = { 'L' , 'ÉN' , 'N' , 'BAN BEN' , 'X' , 'H' , 'ÉN' , 'N' , 'T' } ;
számára ( int x = 0 ; x < 9 ; x ++ ) {
printf ( '%d' , sor [ x ] ) ;
printf ( ' \n ' ) ;
}
}
Most a kimenetben láthatja, hogy csak megváltoztatja a %c, a kimenet teljesen megváltozott. Karakterek helyett azok ASCII kódjai jelennek meg:
Következtetés
A %c a C programozási nyelvben a karakter ábrázolására szolgál. Mint ha a felhasználók egy karaktert vagy karaktertömböt szeretnének nyomtatni, amelyet egyszerűen használhatnak %c a printf paranccsal, hogy tájékoztassa a fordítót arról, hogy a kimenetre karakterek formájában van szükség. Ha %d helyett használatos %c , a kimenet teljesen megváltozik, és a karakterkimenet megjelenítése helyett az egyes karakterek ASCII kódját jeleníti meg.