自加自减

发布时间:2024-05-14 04:44 发布:上海旅游网

问题描述:

int i=1,a,b=2;
a=i++*b
运算的顺序不是i先*2,然后在+1吗 怎么=2的

问题解答:

是怎么=2的?
i=1
i++的表达式的值 是 1
1*2 的结果 是 2
所以a=2 这时的i 也是2

int i=1,a,b=2;
a=i++*b

等效于

int i=1,a,b=2;
a=i*b;
i++;

不是这么理解。

a=i++*b相当于:
a=i*b;
i=i+1;

先参加运算后加一,那个加一是在运算好后的。所以……先乘2赋给a后,他自己才加1。

结果是=2
等i*b运算结束后,i再自增1

热点新闻