增量订单[重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了增量订单[重复]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我在理解C ++中的增量顺序时遇到了问题。
我知道增量是一元运算符,因此它们从右到左括号后。
我的问题是我们什么时候增加这个数字?
这是一个简单的代码:
#include <iostream>
using namespace std;
int main()
int a1;
int a(12),b(3);
a1=7+10%3-5;
b=a/b++;
cout<<a1<<"\t"<<b<<endl;
return 0;
在这里我得到a = 3是正确但b = 5,我认为它是3因为我们从右边开始并且增加1然后12/4给出3。
答案
请注意,C ++语法意味着后缀增量的关联性是从左到右,前缀增量的关联性是从右到左。
b = a / b++;
的行为实际上是未定义的。这是因为=
不是一个排序点,因此在b
上同时进行读写操作。
(这同样适用于C.)
这是i = i++;
的一个变种:更多关于Is the behaviour of i = i++ really undefined?的信息
以上是关于增量订单[重复]的主要内容,如果未能解决你的问题,请参考以下文章