2008-11-21 6 views

ответ

60

да, %c будет печатать один символ:

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

также putchar/putc будет работать тоже. От «человек 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:

Также обратите внимание, что если у вас есть строка, для вывода одного полукокса, вам нужно получить символ в строке, которую вы хотите вывести. Например:

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

Я использую MS C 6.0 и не работает. Не дает ошибок. – Aydya 2008-11-21 20:27:57

+0

Не могли бы вы опубликовать нерабочий пример кода? Убедитесь, что «c» имеет нижний регистр в «% c». – 2008-11-21 20:30:13

+0

Вы пытались скопировать и вставить мой пример. % c должен работать, учитывая, что параметр имеет правильный тип (символ, а не строка). – 2008-11-21 20:42:20

14

Как уже упоминалось в одном из других ответов, вы можете использовать putc (INT с, FILE * поток), putchar (интермедиат с) или fputc (интермедиат с, FILE * поток) для этой цели.

Важно отметить, что использование любой из вышеперечисленных функций от некоторых до значительно быстрее, чем использование любых функций синтаксического форматирования, таких как printf.

Использование printf похоже на использование пулемета для запуска одной пули.

10

быть осторожной разница между 'c' и "c"

'c' является символом подходит для форматирования с% с

"c" является символом *, указывающим на блок памяти с длиной 2 (с нулевым терминатором).

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