c - C运算符的执行顺序

标签 c operators

#include <stdio.h>

int main(void) {

    int i;
    i = 10;
    i*= 10+2;
    printf("%d",i);
    return 0;
}

为什么下面代码的输出是120而不是102?

最佳答案

因为优先顺序使'+'高于*=,所以10+2会出现在i *=之前。

http://en.cppreference.com/w/c/language/operator_precedence 订购的 C 引用

关于c - C运算符的执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44067104/

相关文章:

C++ 模板类运算符,用于括号和等于插入和获取元素

c - 使用 NULL 强制结束可变函数参数

c - yacc/bison 操作的范围是什么?

c - c中的memset结构数组时出现段错误

c - 限制数组大小的目的是什么?

javascript - RxJs:通过 API 递归分页并从列表中查找值

c++ - C++ 中的抛出和三元运算符

c - 什么可能会延迟我的 select() 调用?

c++ - &-运算符/C++,解释

java - Java 的 C++ 仿函数,重载运算符 ()()