gpt4 book ai didi

c语言复合赋值,v += e和v = v + e有什么区别?

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

<分区>

在本书的第 4 章复合赋值部分:C 编程:一种现代方法,第 2 版,说:

Note that I've been careful not to say that v += e is “equivalent” to v = v + e. One problem is operator precedence: i * = j + k isn't the same as i = i * j + k.

我编写了一个程序来比较 i * = j + ki = i * j + k。但结果是一样的。

#include <stdio.h>

int main() {
int i = 1;
int j = 2;
i *= j + 10;
int k = 1;
k = k * j + 10;
printf("j=%d k=%d\n", i, k);
}

结果是:

j=12 k=12

所以我的问题是:为什么 i * = j + ki = i * j + k 不同?

感谢大家的回复。我误解了复合赋值运算符。我写了一个误导性的测试。我想说你们很高兴讨论技术问题并一起学习。我在中国找不到这么棒的网站和像你这样的人。

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