Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19268673
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: 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 共同所有,转载请注明原作者和出处。谢谢。

阅读(621) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~