The order pf evaluation of the operands of an additive operator is unspecified.
(未指定加法运算符的操作数的顺序pf评估。)
So for example in this statement
(所以在这个陈述中)
a=a+puan_ekle(a,b);
one compiler can at first evaluate the value of a and then call the function puan_ekle(a,b) that has a side effect of changing a.
(一个编译器可以首先评估a的值,然后调用具有改变a副作用的函数puan_ekle(a,b)。)
While other compiler can at first call the function and after that get the value of a after it was changed in the function. (而其他编译器可以首先调用该函数,然后在函数中对其进行更改后获得a的值。)
So the program has undefined behavior.
(因此,该程序具有未定义的行为。)
If the function had no the side effect then the behavior would be well-defined independently of the order of evaluation of operands of the additive operator.
(如果函数没有副作用,那么行为将被良好定义,而与加法运算符的操作数的评估顺序无关。)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…