设为首页 加入收藏

TOP

c/c++中的char
2010-12-31 12:43:10 】 浏览:1155
Tags:c/c char

char类型,即字符类型(也称字符型),char类型的值,可以根据计算机的不同而不同,因为不同的机器可能会有不同的字符集。

char ch;

int i;

i=a;        /* i is now 97 */

ch=65;       /* ch is now A */

ch=ch+1;     /* ch is now B */

ch++;        /* ch now is C */

既然c语言允许把字符作为整数来使用,那么char类型应该像整数一样也存在有符号型和无符号型两种。通常有符号的取值范围是-128~127.无符号的取值范围是0~255.

C语言的标准并没说明普通char类型数据时有符号型和无符号型。各个编译器对待char类型都不一样。

例如如下的程序:

/************************************************************/

#include<stdio.h>

int main()

{

    int sum=300;

    char ch=127;

    printf("sum=%d,(char)ch=%c,(int)ch=%d\n",sum,ch,ch);

    ch+=1;

    sum+=ch;

    printf("sum=%d,(char)ch=%c,(int)ch=%d\n",sum,ch,ch);

    return 0;

}

/************************************************************/

 这里面主要考察ch+=1之后,变量ch的值为多多少呢?

这就要看编译器了,由于编译器默认的char数据类型的类型有所不同,结果也不同。

如果编译器定义的是有符号类型那么ch的结果就是-128,因为有符号类型的char的范围是-128~127.

如果编译器定义的是无符号类型那么ch的结果就是128,因为无符号类型的char的范围是0~255.

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇常见排序算法的稳定性 下一篇任务、进程和线程的区别

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目