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

Python024

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

有两种转换方式:

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.0double

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)

1.将一种类型的数据赋值给另外一种类型的变量时就会发生自动类型转换,例如: floatf=1501 150 是 int 类型的数据,需要先转换为 float 类型才能赋值给变量 f。再如: intn=f1...

2.在不同类型的混合运算中,编译器也会自动地转换数据类型,将参与运算的所有数据先转换为同一种类型,然后再进行计算。转换的规则如下: 转换按数据长度增加的方向进行,以保证数值不失真,或者精度不降低。