C语⾔-char类型变量范围
char类型变量范围
C语⾔中字符类型也是属于整型,是否可以⽤signed和unsigned修饰符
若初系统只提供了127个字符,那么就将char类型变量的第⼀个⼆进制位设置为0,⽤后⾯7位存放0-127,此时,系统提供的char类型相当于signed char
但实际应⽤中可⽤的字符往往会多于127个,据此有的系统提供了扩展的字符集,把可⽤的字符由127个扩展到255个(扩⼤了⼀倍),此时char变量就位unsigned char类型,也即把第⼀位也⽤来存放字符代码,但是这种⽅式并不适⽤于所有的系统。可以⽤以下语句检验。
unsigned char c=128;
printf("%d:%c",c,c);
注意:在中⽂操作系统下,ASCII码为127以后的部分被作为中⽂字符处理,所以不会显⽰出扩展字符。
//分析程序结果
#include<stdio.h>
int main()
{
char c1,c2;//i在此int等价于char
//c1=97;
//c2=98;
c1=197;
c2=198;
printf("c1=%c,c2=%c\n",c1,c2);
printf("c1=%d,c2=%d\n",c1,c2);
return0;
}c语言char的用法
DEV把字符类型数据作为signed char类型处理,它存字符的有效范围为0-127,超过此范围的处理⽅法
不同系统得到不同的结果,因⽽⽤%c格式输出输出时,结果是不可预料的
⽤%d格式输出时,输出-59,-58这是按补码形式输出的,59与197之和等于256,58+198也为256
所以:⽤char类型变量时给它赋值应在0-127范围内
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论