能帮我讲解一下这道题么

main()

{

int b=4,y;

y=--b*--b*--b;

printf("%d%d",b,y)

}

y=--b*--b*--b;

运算有顺序 先是--b;--b; 然后y=b*b; 再--b; 然后再是y*b; 即2*2*(2-1); 结果=4。

#include <stdio.h>
#include <math.h>
   
int main()
{
    int b=4,y;
    y=--b*--b*--b;
    printf("%d,%d",b,y);

}

--b的意思是先执行 b=b-1,然后再用b进行运算。在一个表达式里,要先执行所有--b,然后才运算

所以三次--b后,b就是1了,那么y也就是1

--优先级大于*。先做自减运算,后做乘法运算

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632