为什么这个程序不对(TC的)

来源:百度知道 编辑:UC知道 时间:2024/05/07 02:32:36
main()
{float i,j;
char ch1,ch2;
i='a';
j='b';
ch1=97;
ch2=98;
printf("%c\t%c\n",i,j);
printf("%f\t%f\n",ch1,ch2);
}
但如果把FLOAT改为INT 为什么就对了

char 是8位二进制的,
int 是16位二进制的,
float 是32位二进制的,

char和int的储存方式是一样的,所以可以互换,
但是float是浮点数,跟前两种是不一样的,
现在浮点数大多都是根据国际标准IEEE745的表示,
浮点数分三段,第一段是符号段,第二段是阶码段,第三段是尾数段。

char跟int都只有两段:符号段和数值段。

所以....

int 和 char 可以相互赋值,但是float和char则不行。所以问题出来了.:)

记得要在float ij中间加个,号

char 和float是不能互换的