在C中输出单个字符

时间:2008-11-21 20:13:41

标签: c character string-formatting

在C程序中打印单个字符时,我必须在格式字符串中使用“%1s”吗?我可以使用类似“%c”的东西吗?

5 个答案:

答案 0 :(得分:69)

是的,%c会打印一个字符:

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

此外,putchar / putc也可以使用。来自“man 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).

编辑:

另请注意,如果您有一个字符串,要输出单个字符,您需要获取要输出的字符串中的字符。例如:

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

答案 1 :(得分:15)

如其他答案之一所述,您可以使用 putc (int c,FILE * stream), putchar (int c)或 fputc < / strong>(int c,FILE * stream)用于此目的。

重要的是要注意使用上述任何一个函数比使用任何格式解析函数(如printf)要快一些。

使用printf就像使用机枪射击一颗子弹。

答案 2 :(得分:10)

注意'c'"c"

之间的区别

'c'是一个适合使用%c格式化的字符

"c"是一个char *,指向长度为2的内存块(使用null终止符)。

答案 3 :(得分: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

答案 4 :(得分:0)

输出单个字符的最简单方法是简单地使用putchar函数。