gpt4 book ai didi

c - 为什么这个算术表达式会产生这个结果?

转载 作者:太空宇宙 更新时间:2023-11-04 05:30:23 24 4
gpt4 key购买 nike

有人可以向我解释一下这个简单代码段的输出吗?

int i=7;
int j=3*i-- + 2;
printf("%d %d",i,j)

当我编译时,我得到 6,23

23是怎么来的?我以为是 3*7=21 减少到 20 加 2 是 22 不是 23?

最佳答案

int i = 7; /* i is 7 */
int j = (3 * (i--)) /* means 3 * 7 */ + 2; /* 3 * 7 + 2 = 23 */
/* i is now 6, because it was decreased by the postfix -- operator */
printf("%d %d", i /* 6 */, j /* 23 */);

关于c - 为什么这个算术表达式会产生这个结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7781506/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com