c - C 中的运算符优先级

标签 c expression

C 程序在执行以下表达式时会发生什么: x = 4 + 2 % - 8 ; 它输出的答案是 6,但我没有明白这段代码实际上是如何执行的?

最佳答案

在这种情况下 - 是一元否定运算符(不是减法)并且它与 8 文字紧密绑定(bind),因为它具有非常高的优先级。请注意,在形式上,c 中没有否定文字这样的东西。

因此,模数项被评估为 2 % (-8)。模运算符与乘法和除法具有相同的优先级。

关于c - C 中的运算符优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39688882/

相关文章:

c - 如何提高大整数的变量范围?

PHP 验证约束列表

math - SSIS · 三角函数

c - 文件编号升序排列

c - 如何生成最多 18 位数字,其倒数之和为整数

c - 如何确保不同系统上的 float 相同?

java - 一个函数多次调用 : why ? 以及通过 C 线程使用不当?

c# - 无法从用法中推断出类型参数。尝试明确指定类型参数

r - 解析字符中的数值,因为它们与 `scipen` 的值无关

C# 克隆包括 Lambda 表达式