c 中赋值问题

哪位帮忙讲下c中赋值问题,其中整型与字符型详细点
将整型数据赋给char型变量;
将char型数据赋给整型变量;
最好举两个例子,详细点谢谢了,顺便再说下不同类型的整型数据之间的高类型和低类型的赋值运算,谢谢了

第1个回答  2013-09-23
表示同一类数据的类型可直接强制转换
比如short int __int64 float double long double
其中小数到整数直接去掉小数点后的而不是四舍五入
不如int a;double b=1.5;
a =b; printf("%d",a)输出的结果是1
至于char与int
因为char只能存一位所以我们之讨论0-9之间的数字(对于高位数因用%和/逐位取出再赋值)
如果将char 的值直接赋给int
那么int中的值会是char中字符的ascii码(一种通用的字符与数字转换的表)
所以可以用如下方法
char a='2';int b;
b=int(a)-48;前面用int()强制转换类型,然后减掉0的ascii码(48)即可
当然不用刻意去记,也可以这样写b=int(a)-int('0');
同理即可
int b=2;char a;
a=char(b+48)
或者
a=char(b+int('0'))
对于整形数据之间的赋值,
从小的类型到大的类型是不用管的,直接赋值即可
int a;short b;b=1;a=b;
从大的类型到小的类型要注意是否超出范围比如short最多只能存到-65535---+65535
int只能存-2147483647---+2147483647
相似回答