以也可以把它们看成是整型量。 C语言允许对整型变量赋以字符值,也允许对字符变量赋以整型值。在输出时, 允许把字符变量按整型量输出,也允许把整型量按字符量输出。 整型量为二字节量,字符量为单字节量,当整型量按字符型量处理时, 只有低八位字节参与处理。
main(){
char a,b;
a=120;
b=121;
printf("%c,%c\n%d,%d\n",a,b,a,b);
}
a ■ b ■
a <-- 120
b <--- 121
显示
程序结果 char a,b;
a=120;
b=121;
本
程序中说明a,b为字符型,但在赋值语句中赋以整型值。从结果看,a,b值的输出形式取决于printf函数格式串中的格式符,当格式符为"c"时,对应输出的变量值为字符,当格式符为"d"时,对应输出的变量值为整数。
void main(){
char a,b;
a=''x'';
b=''y'';
a=a-32;
b=b-32;
printf("%c,%c\n%d,%d\n",a,b,a,b);
}
a,b被说明为字符变量并赋予字符值
把小写字母换成大写字母
以整型和字符型输出
本例中,a,b被说明为字符变量并赋予字符值,C语言允许字符变量参与数值运算,即用字符的ASCII 码参与运算。由于大小写字母的ASCII 码相差32,因此运算后把小写字母换成大写字母。然后分别以整型和字符型输出。
[Practice] //charint a=49;
char b;
char d;
b=a+10;
d=a+b;''Vtable
a,2,49
b,1,随机
d,1,随机
of Vtable
''Vupdate
1,49
2,随机
3,随机
2,'';''
3,''l''
of Vupdate
of Practice
[Practice] //char c1,c2;
c1=''a'';c2=''b'';
c1=c1-32;c2=c2-32;''Vtable
c1,1,随机
c2,1,随机
of Vtable
''Vupdate
1,随机;2,随机
1,''a'';2,''b''
1,''A'';2,''B''
of Vupdate
of Practice