如何评估前缀和后缀运算符的组合

时间:2016-03-14 12:40:17

标签: c++

以下代码的结果如何是2?

int i=2,j; j=i++ + --i; cout<<j;

它正在评估--i首先然后i ++,但它应该是其他方式,即(优先级更高的后缀增量应该首先执行),所以答案应该是4.

1 个答案:

答案 0 :(得分:2)

实际上,不,未指定将首先评估<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/scrollView" android:layout_width="match_parent" android:layout_height="match_parent" android:fadeScrollbars="true" android:fillViewport="true"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="160dp"> <android.support.v4.view.ViewPager android:id="@+id/scheduleViewPager" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="2" android:orientation="vertical"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/create_account_create_password" /> // Other UI controls </LinearLayout> </LinearLayout> </ScrollView> 的哪一侧。由于这一点,并且因为这些操作对同一个变量起作用,所以您的程序具有未定义的行为。任何事情都可能发生。不要写这样的代码。