为什么y=150啊

来源:3-10 运算符大比拼之优先级比较

浣熊举世无双

2021-07-31 22:28

int x=3,y;

y=(++x)*(++x)*(++x);

写回答 关注

4回答

  • 慕设计0238869
    2021-08-02 18:18:13

    其实是先同时计算了前面两个括号内的内容,即5*5,之后从第三个开始逐一计算,就变成了5*5*6,即150.


    慕少2157...

    ?? ??

    2021-08-07 14:17:44

    共 1 条回复 >

  • 慕设计0238869
    2021-08-02 18:15:52

    x=3,第一个++x是4,第二个5,第三个6,难道不是120吗

    慕慕1517...

    #include<stdio.h> int main() { int x = 3, y; y = (++x)*(++x)*(++x); printf("y的结果是"); printf("%d", y); return 0; } 我打了一串代码,算出来结果是216

    2021-08-03 23:36:28

    共 1 条回复 >

  • 昧光5751090
    2021-08-01 21:27:32

    先执行(++x)*(++x),由于()的优先级大于*,所以x其实是自增了两次,即为5,5*5=25。后面一个(++x),因为x已经等于5,再自增一次就是6,25*6=150。

  • 昧光5751090
    2021-08-01 21:27:24

    先执行(++x)*(++x),由于()的优先级大于*,所以x其实是自增了两次,即为5,5*5=25。后面一个(++x),因为x已经等于5,再自增一次就是6,25*6=150。

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926209 学习 · 20797 问题

查看课程

相似问题