在 C 运算中,结合性是指递增、递减和赋值。
2. postfix ++ and --
3. prefix ++ and --
16. Direct assignment =
完整列表可以在这里找到C 中的维基百科运算符
我的问题是当我们有
int a, b;
b = 1;
a = b++;
printf("%d", a); // a is equal to 1
b = 1;
a = ++b;
printf("%d", a); //a is equal to 2
当后缀增量运算符应该发生在直接赋值之前时,为什么 b++ 中的 a 等于 1?
为什么前缀增量运算符与后缀都在赋值之前不同?
我很确定在操作关联性方面我不明白一些非常重要的事情。
后缀运算符a++
将增加a
然后返回原始值,即类似于:
{ temp=a; a=a+1; return temp; }
和前缀++a
将返回新值,即
{ a=a+1; return a; }
这与运营商无关优先级.
(结合性决定是否a-b-c
等于(a-b)-c
or a-(b-c)
.)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)