|
|
1
4
在这个表达式中:
所有操作数都有类型
如果要使用浮点除法,则需要将除法的至少一个操作数强制转换为浮点类型:
|
|
2
1
认为一个表达式是在与结果分配给的类型相同的类型上执行的,这是初学者常见的错误;你的左边碰巧有什么类型的
请注意,诸如
最佳实践:
如果您需要在表达式中使用整数变量,一个解决方案是将它们强制转换为所需的浮点类型:
在此表达式中,每个操作数的类型都是
草率、脆弱的代码是另一种可能性:
这也有效,但这是一种“太聪明”的解决方案,应该像瘟疫一样避免。此代码依赖于隐式类型提升(特别是称为
常用的算术转换
),即在我们有两个操作数的情况下
因此,这种隐含的提升在整个表达中不断升级。在这种情况下,我们有
然而,如果有人决定维护代码(真的发生了!),在运算符之间来回移动或在某个地方添加优先级更高的运算符,这可能会造成严重破坏。 最佳实践:
|
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |