起因:有一天一个朋友发来一个程序给我看
#include <stdio.h>
void main()
{
int a,b=322;
float x,y=8.88;
char cl='k',c2;
a=y; \\ a=8
printf("a=%d",a);
x=b; \\x=322.000000
a=cl; \\ a等于 字母 k的 asc2 码 107 ,a=107
<span style="color:#ff0000;"> c2=b; \\ c2 等于 322 这个asc2 码所对应的 字符</span>
printf("a=%d,x=%f,a=%d,c2=%c\n",a,x,a,c2);
}
答案的输出:a=107,x=322.000000,a=107,c2=B;
问题就出现在为什么c2输出是 c2=B 呢?
字符型 char
对于单个字符 char ch='B'; 或者 char ch=66; //因为字符在计算器中其实是用asc2 码表存储的,一个字符占一个字节(即8位);
对于字符串 char ch[80]="abcdefg";// ch[80],字符串的长度为80即可以存放79个字符,还有一个到哪去了呢,还有一个 当结束控制符了'\0';</