c语言中怎么把不同类型转化成同一类型?

比如怎么把float型转化成double型,把char,short型转化成unsigned型?

第1个回答  2020-03-15
有两种转换方式:
1.强制转换:
(方法为:
类型A的变量
=
(
类型A
)类型B的变量;)
举例:
float转double:
float
a=2.0;
double
b
=
(double)a;
char转unsinged:
char
a='c';
unsigned
char
b
=
(unsigned
char)a;
short转unsigned:
short
a=-20;
unsigned
short
b
=
(unsigned
short)a;
2.由系统隐含转换:
也就是我们所说赋值操作.
但是这种操作很多时候会给出错误信息.
有的也不能成功.如指针与非指针类的转换.如果要进行这类转换建议用第一种方式,
高版本的可以用第一种的变形方式.
float转成double:
float
a=2.0;double
b=a;
char转unsinged:
char
a='c';
unsigned
char
b=a;
short转unsigned:
short
a=-20;
unsigned
short
b=a;
3.第一种方式的变形(只有高版本的才可以用,否则会给出错误信息)
方法为:
类型A的变量
=
类型A(类型B的变量;)举例:
float转double:
float
a=2.0;
double
b
=
double(a);
char转unsinged:
char
a='c';
unsigned
char
b
=
unsigned
char(a);
short转unsigned:
short
a=-20;
unsigned
short
b
=
unsigned
short(a);