c++ - C++:为什么这些结果不同?
问题描述
为什么这两个示例在 C++ 中的输出不同?
int a=025;
float b=5.5;
cout<<a+b;
26.5
int a=25;
float b=5.5;
cout<<a+b;
30.5
解决方案
八进制文字是数字零 (0) 后跟零个或多个八进制数字 (0, 1, 2, 3, 4, 5, 6, 7)
025
实际上与十进制相对应的八进制文字也是如此,21
这就是您的答案相差 4(25-025
或25-21
)的原因。
推荐阅读
- javascript - React / ES6 Onscroll功能未在Y方向触发
- excel - 查找今天之后与日期编号和工作日匹配的第一个日期
- html - 当我使用 *ngFor 时,如何保存单选按钮单击?
- c# - 需要帮助将 winform 迁移到 net 5
- yii2 - Yii2:将行为附加到每个控制器
- java - Spring HttpClientErrorException 和 RestClientException 获取请求 URL
- javascript - 对代码进行更改后清理缓存的解决方案?
- html - 如何在调整窗口大小时使元素消失
- android - 如何在android中调用其他应用程序的后退按钮上的点击
- android - Firebase 验证码检查失败并阻止用户进行身份验证