Per què s'utilitza %c en C?
Igual que qualsevol altre llenguatge de programació, C també té una sintaxi fixa que cal seguir per crear programes. La sintaxi bàsica de C és que els usuaris han d'incloure Fitxers de capçalera C primer, que són
int principal ( buit ) {
}
I s'utilitza una comanda d'impressió per mostrar la sortida. Per exemple, provem d'imprimir una carta k com a sortida i per això, utilitzeu l'ordre escrit a continuació dins de la funció principal:
imprimirf ( '%d' , 'k' ) ;
A la sortida, podeu veure-ho en lloc de lletra k, es mostra un número com a sortida. Confós?
Ara entenem aquest concepte de per què s'imprimeix un número en lloc del caràcter k , així que la resposta és que un ordinador és una màquina que treballa amb números, de manera que cada caràcter o lletra té un número de màquina equivalent (codi ASCII). Per exemple; a l'exemple anterior el número equivalent de la màquina per k és 107 . Si un usuari utilitza %d amb un caràcter, el programa mostrarà el codi ASCII del caràcter i no el caràcter original.
M'agrada %d , el %c s'utilitza per mostrar el caràcter original. Ara executem la mateixa comanda anterior per imprimir k només substituir %d amb %c , com es mostra a continuació:
imprimirf ( '%c' , 'k' ) ;
Ara, a la sortida, podeu veure clarament que en lloc d'un número, una lletra k mateix s'imprimeix. Així, sempre que els usuaris vulguin imprimir un caràcter, poden utilitzar-lo %c dins de l'ordre d'impressió. El %c representa 'personatge' i informa al compilador que cal una sortida de caràcters:
S'utilitza %c a Arrays
Ara imprimim una matriu de caràcters utilitzant %c amb una comanda d'impressió. Al programa següent, he definit una matriu de 9 caràcters i vull imprimir aquests elements de matriu exactes un per un. Per això, he utilitzat a per bucle dins del qual el imprimirf la comanda està present juntament amb %c :
#inclou#include
int principal ( buit ) {
char matriu [ ] = { 'L' , 'jo' , 'N' , 'IN' , 'X' , 'H' , 'jo' , 'N' , 'T' } ;
per ( int x = 0 ; x < 9 ; x ++ ) {
imprimirf ( '%c' , matriu [ x ] ) ;
imprimirf ( ' \n ' ) ;
}
}
Després d'executar el programa, podeu veure que la sortida ha mostrat el caràcter un per un:
Ara manteniu el programa igual i substituïu-lo %c amb %d dins de l'ordre printf i observeu la diferència en la sortida:
#inclou#include
int principal ( buit ) {
char matriu [ ] = { 'L' , 'jo' , 'N' , 'IN' , 'X' , 'H' , 'jo' , 'N' , 'T' } ;
per ( int x = 0 ; x < 9 ; x ++ ) {
imprimirf ( '%d' , matriu [ x ] ) ;
imprimirf ( ' \n ' ) ;
}
}
Ara, a la sortida, podeu veure-ho només canviant %c, la sortida ha canviat completament. En lloc de caràcters, es mostren els seus codis ASCII:
Conclusió
El %c en C s'utilitza el llenguatge de programació per representar el caràcter. Com si els usuaris volen imprimir un caràcter o una matriu de caràcters que simplement poden utilitzar %c amb l'ordre printf per informar al compilador que la sortida és necessària en forma de caràcters. Si %d s'utilitza en lloc de %c , la sortida canviarà completament i en lloc de mostrar la sortida de caràcters, mostrarà el codi ASCII de cada caràcter.