跳到正文
信奥逐课

第 038 课

强制类型转换

🟢 入门 约 5 分钟

一句话理解

强制类型转换是你明确要求:把这个值按另一种类型来看。

为什么要学

整数相除想保留小数、或 double 收成 int,都要用到。

讲解

写法:(int)xint(x)static_cast<int>(x)。初学用前两种即可。

(double)a / b 会按小数除。若写成 (double)(a / b),则先整数除再转,小数已经丢了。

转成更窄的类型会截断:(int)3.9 是 3,不是四舍五入。

例子

int a = 5, b = 2;
cout << a / b << " ";
cout << (double)a / b;

输出:

2 2.5

整数除法先丢掉小数。把其中一个变成 double,才会得到 2.5。

常见错误

练习 做完再看下一课

输出什么?

cout << (int)3.9;
在线练习 C++ 在浏览器里编译,代码不会上传

Ctrl / ⌘ + Enter 运行 · Tab 缩进

输出
 

进度保存在本机浏览器里。

左右方向键也可翻课