分类: C/C++
2008-03-20 18:34:08
来源: 作者:antigloss 等级:一般
发布于2006-01-11 08:45 被读2120次 【字体: 】 |
一、字符输出 printf 函数使用 %c 表示输出字符。因为字符是以 1 字节整数的形式存取的,所以,如果使用 %d 的话,输出的会是整数。例如: /* 这个程序输出字符以及字符的整数编码 */ #include <stdio.h> int main(void) { char ch; printf("Please enter a character.\n"); scanf("%c", &ch); /* 由用户输入一个字符 */ printf("The code for %c is %d.\n", ch, ch); return 0; } 请各位自行编译执行此程序,查看其执行结果。输入字符后记得要按回车键。 printf 函数输出 ch 的值两次,第一次以字符的形式输出(因为格式限定符为 %c),第二次以十进制整数的形式输出(因为格式限定符是 %d)。注意:格式限定符只是用于指定数据的输出形式,而不是用来指定数据怎么存储。 二、字符类型的符号 某些编译器中,char 默认是有符号的(signed)。对于这类型的编译器来说,char 的表示范围通常是 -128 到 127 。而另外一些编译器中,char 默认是无符号的(unsigned)。对于这类型的编译器来说,char 的表示范围通常是 0 到 255 。一般来说,编译器的使用说明会注明它默认把 char 当作有符号的还是无符号的。 从 C89 开始,我们可以使用关键字 signed 和 unsigned 来修饰 char 。这么一来,无论编译器默认 char 是有符号的也好,无符号的也罢,我们都可以用 signed char 表示有符号 char ,也可以用 unsigned char 表示无符号 char 。 参考资料:C Primer 5th Edition C99 标准 本文版权归 以及 作者 antigloss 共同所有,转载请注明原作者和出处。谢谢。 |