为了账号安全,请及时绑定邮箱和手机立即绑定

强制类型转换的一般形式

据类型和表达式都必须加括号

那是不是当表达式为单项式就可以省略括号了? 比如说举例中的 int tempTwo = (int)tempOne

不太懂呢(⊙o⊙)…

正在回答

2 回答

可以~

0 回复 有任何疑惑可以回复我~
#1

海哈哈 提问者

非常感谢!
2015-02-09 回复 有任何疑惑可以回复我~
#2

Fiona0126 回复 海哈哈 提问者

忘说了。。你只能省略一边的括号。。你可以写成y = int(x);或者y = (int)x;前者有些编译器不支持。
2015-02-09 回复 有任何疑惑可以回复我~
#3

海哈哈 提问者 回复 Fiona0126

O(∩_∩)O~谢谢
2015-02-16 回复 有任何疑惑可以回复我~

类型转换分为显式和隐式。写上(int)这样的叫显式类型转换,省掉就叫隐式类型转换。


float a = 4.35;

int b = a; //这叫隐式类型转换,由编译器自主决定转换类型

int c = (int)a; //这叫显式类型转换, 由手工指定转换类型


对于大部分编译器来说,基本类型之间的隐式类型转换都不存在问题,但是诸如函数参数传递等,可能就需要用显式类型转换了。


比如函数声明为 bool func(int);

对于有些编译器,如果用func(a)进去,可能就编译报错,但是如果用 func((int)a)就没问题了。 

1 回复 有任何疑惑可以回复我~
#1

海哈哈 提问者

恩恩 懂得了 O(∩_∩)O谢谢啦
2015-02-16 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       924521    人
  • 解答问题       20762    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

强制类型转换的一般形式

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信