2008-11-21 15 views

Respuesta

60

sí, %c imprimirá un solo carácter:

printf("%c", 'h'); 

también, putchar/putc también funcionará. De "hombre putchar":

#include <stdio.h> 

int fputc(int c, FILE *stream); 
int putc(int c, FILE *stream); 
int putchar(int c); 

* fputc() writes the character c, cast to an unsigned char, to stream. 
* putc() is equivalent to fputc() except that it may be implemented as a macro which evaluates stream more than once. 
* putchar(c); is equivalent to putc(c,stdout). 

EDIT:

También tenga en cuenta, que si usted tiene una cadena, a la salida de un solo carbón, es necesario obtener el carácter de la cadena que desea emitir. Por ejemplo:

const char *h = "hello world"; 
printf("%c\n", h[4]); /* outputs an 'o' character */ 
+0

Estoy usando MS C 6.0 y no funciona. No da error tampoco. – Aydya

+0

¿Podría publicar un código de muestra que no funciona? Asegúrese de que la 'c' esté en minúscula en '% c'. –

+0

intenté copiar y pegar mi ejemplo. % c debería funcionar dado que el parámetro es del tipo correcto (un carácter, no una cadena). –

14

Como se mencionó en una de las otras respuestas, puede utilizar putc (int c, flujo FILE *), putchar (int c) o fputc (int c, ARCHIVO * transmisión) para este propósito.

Lo que es importante tener en cuenta es que el uso de cualquiera de las funciones anteriores es de algunos a significativamente más rápido que el uso de cualquiera de las funciones de análisis de formato como printf.

Usar printf es como usar una ametralladora para disparar una bala.

+4

'printf()' para solo char, es como comprar un libro para obtener un pedazo de papel. – exebook

10

Tenga cuidado de diferencia entre 'c' y "c"

'c' es un char adecuado para formatear con% c

"c" es un char * que apunta a un bloque de memoria con una longitud de 2 (con el terminador nulo)

+2

Técnicamente, "c" es un char * con una longitud de 4 (o cualquiera que sea el tamaño de tu puntero) que apunta a un bloque de memoria con 2 caracteres ('c' y '\ 0'). Pero eso es solo ser pedante. – paxdiablo

+0

Agregó una breve nota que "c" es un puntero. –

3
char variable = 'x'; // the variable is a char whose value is lowercase x 

printf("<%c>", variable); // print it with angle brackets around the character 
Cuestiones relacionadas