c,y
99,121
本程序中定义 a,b 为字符型,在赋值语句中给 a 赋以字符值,但是给 b 却赋以整型值。从结果看,a,b 值的输出形式取决于 printf 函数格式串中的格式符,当格式符为 'c' 时,对应输出的变量值为字符,当格式符为 'd' 时,对应输出的变量值为整数。
也就是说,一个在字符的数据既可以以字符的形式输出,也可以以整数的形式输出。以字符形式输出时,先将存储单元中的 ASCII 码转换成相应的字符再输出;以整数的形式输出时,直接输出其 ASCII 码。
我们还可以对字符型数据进行算术运算,此时相当于对他们的 ASCII 码进行运算,编写程序 4-5.c :
#include<stdio.h>
int main()
{
char a,x;
int b;
a = 'c';
b = 1;
x = a + b;
printf("%c\n",x);
printf("%d\n",x);
return 0;
}
编译运行的结果是:
d
100