逗号(,)如何在条件部分中的两个表达式之间的for循环中工作

时间:2016-05-04 19:15:34

标签: c++ loops initialization

在初始化部分的for循环中,您可以根据需要声明和初始化许多变量,但是当然它们必须是相同的类型。在条件部分,您可以应用任何表达语句,如AND(&&),OR(| |),>,<,==等 但是,(,)不是表达。它如何在这里工作 只是a = 1,2,3,4,5,6和b = 1,2,3,4,5,6,7,8,9,10 并且a< 6,b< 9返回a = 1,2,3,4,5,6,7,8,9 = b

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:background="#e0e1c5"
android:id="@+id/background">

<TextView
    android:id="@+id/ready"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_marginTop="225dp"
    android:text="Good luck!"
    android:textColor="#000000"
    android:textSize="45dp"
    android:textStyle="bold"
    android:autoText="false"
     />

<TextView
    android:id="@+id/tapstart"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:text="Tap to start..."
    android:textColor="#000000"
    android:textSize="27dp"
    android:textStyle="bold"
    android:autoText="false"

    android:layout_below="@+id/ready"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />


<TextView
    android:id="@+id/time"
    android:layout_width="130dp"
    android:layout_height="wrap_content"
    android:layout_gravity="right"
    android:gravity="center"
    android:text="00:00:00"
    android:textColor="#000000"
    android:textSize="25dp"
    android:textStyle="bold"
    android:autoText="false"
    android:layout_marginTop="55dp"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true" />

<TextView
    android:id="@+id/score"
    android:layout_width="130dp"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:text="Score: 200"
    android:textColor="#000000"
    android:textSize="25dp"
    android:textStyle="bold"
    android:autoText="false"
    android:layout_below="@+id/time"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true" />

<TextView
    android:id="@+id/expression"
    android:layout_width="300dp"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:text=""
    android:textColor="#000000"
    android:textSize="45dp"
    android:textStyle="bold"
    android:autoText="false"
    android:layout_below="@+id/score"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="33dp" />

<Button
    android:id="@+id/ans1"
    android:layout_width="250dp"
    android:layout_height="60dp"
    android:gravity="center"
    android:textSize="25dp"
    android:textColor="#fff"
    android:text=""
    android:textStyle="bold"
    android:background="#2545cf"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:layout_below="@+id/expression"
    android:layout_marginTop="37dp" />

<Button
    android:id="@+id/ans2"
    android:layout_width="250dp"
    android:layout_height="60dp"
    android:gravity="center"
    android:textSize="25dp"
    android:textColor="#fff"
    android:background="#eb131e"
    android:text=""
    android:textStyle="bold"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="5dp"
    android:layout_below="@+id/ans1"/>

<Button
    android:id="@+id/ans3"
    android:layout_width="250dp"
    android:layout_height="60dp"
    android:gravity="center"
    android:textSize="25dp"
    android:textColor="#fff"
    android:text=""
    android:textStyle="bold"
    android:background="#dacd10"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="5dp"
    android:layout_below="@+id/ans2"/>

</RelativeLayout>

2 个答案:

答案 0 :(得分:12)

因为......事情并非如此。

逗号运算符计算并丢弃其左操作数(因此在大多数情况下,其左操作数将具有副作用)。在评估左操作数(并且已经发生任何副作用)之后,评估右操作数。从中产生的值是右操作数的值。

答案 1 :(得分:8)

实际上它不是或者,逗号运算符的行为可以描述为:

  

在C和C ++编程语言中,使用逗号运算符   (由标记表示)是一个二进制运算符,用于计算它   第一个操作数并丢弃结果,然后计算第二个操作数   操作数并返回此值(和类型)。

来自wiki:https://en.wikipedia.org/wiki/Comma_operator

因此只有k<10的结果才会被记入帐户。