c - 为什么乘法后要进行自增运算?

标签 c

为什么在这个表达式中增量是在乘法之后计算的? 它具有更高的优先级。

y = x * z++;

编辑: 另一个例子

int i[] = {3, 5};
int *p = i;
int j = --*p++;

相当于

int j = postincrement(--*p);

最佳答案

z++ 或多或少与:

int postincrement(int *z) {
    int temp = *z;
    *z++;
    return temp;
}

所以你的代码或多或少相当于:

y = x * z;
z = z + 1;

关于c - 为什么乘法后要进行自增运算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32924426/

相关文章:

c - 我如何用 C 编写 GNURadio 应用程序?

使用 C 库头文件的 C++ 程序将 "this"识别为关键字。外部 "C"错误?

c++ - 使用多个逻辑 NOT 运算符评估条件时的混淆

c - 段错误(核心已转储)c

C 中的冲突类型和先前的隐式声明

c - "-1>>5;"是 C 中的未指定行为吗?

c - 在函数中使用 printf 返回 void

c - C中内存中的指针布局

与 memcpy 连接

php - 自定义 PHP 扩展不适用于 5.3