输出转换
在程序中将数据用printf函数以指定格式输出时,当要输出的盐据类型与输出格式不符
时,便自动进行类型转换,如一个long型数据用整型格式(%d)输出时,则相当于将long型
转换成整型(int)数据输出;一个字符(char)型数据用整型格式输出时,相当于将char型转 换成int型输出。
注意:较长型数据转换成短型数据输出时,其值不能超出短型数据允许的值范围,否则 转换时将出错。如:
long
a=80000;
printf("%d",a);
运行结果为14464,因为int型允许的最大值为32767,80000超出此值,故结果取以32768为模的余数,即进行如下取余运算:
(80000-32768)-32768=14464;
输出的数据类型与输出格式不符时常常发生错误,如:
int
d=9;
printf("%f",d);
或
float
c=3.2;
printf("%d",c);
将产生错误的结果。