c语言中 强制类型转换的一般形式是什么?

如题所述

1.
强制类型转换的一般形式为:(类型说明符)(表达式),例如:
(float)
a
把a转换为浮点型,(int)(x+y)
把x+y的结果转换为 整型
2.
强制类型转换是通过类型转换运算来实现的。功能是把表达式的运算结果强制转换成类型说明符所表示的类型。
3.
注意事项:①类型说明符和 表达式都必须加括号(单个 变量可以不加括号),如把(int)(x+y)写成(int)x+y则成了把x转换成int型之后再与y相加了。
②无论是 强制转换或是自动转换,都只是为了本次运算的需要而对 变量的数据长度进行的临时性转换,而不改变数据说明时对该 变量定义的类型。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-06
当操作数的类型不同,而且不属于基本数据类型时,经常需要强制类型转换,将操作数转化为所需要的类型。
类型转换;
  1.自动类型转换
  2.强制类型转换
  自动类型转换分两种情况:1,不同类型的数据进行运算时,系统会自动将运算优先级别低的转换成级别高的,结果和运算级别高的数据类型一样。2,赋值运算符两边类型不一样时,系统会自动将右侧表达式的类型转换成左侧的变量类型,然后再赋值
  强制类型转换:
  如:(int)3.1415
//就是取整数部分
  (int)a%10
//取a的个位数
  若a是int型,取a的平方根就是
sqrt((double)a)
第2个回答  2020-03-07
强制类型转换顾名思义就是用户强制的而不是语言自身的自动的进行转换
因此,你可以对任何类型进行强制类型转换,但后果需要你自己承担
也就是说,你必须明确的知道这样转换以后会带来什么后果
比如你把float类型强制转化为int类型,必然导致精度的丢失
如果你可以接受,没问题
如果你把结构体类型强制转换为int(或者反过来),程序只会给你一个警告
但你使用的时候,程序很可能会出错
所以一般基本类型直接的转换只会导致精度的丢失
但结构体和基本类型的转换可能导致程序的错误
所以实际使用中应该尽量避免这样的转换
具体的你可以参照一下百度百科
第3个回答  2021-04-15

相似回答