4

何らかの意味を評価するとき、括弧は何をしますか?何かがチェックされ、それらが使用されたとき、私はこれに直面しました。

if ( (some condition that returns 1) )
{
code
}

私の質問は、これは true と評価されますか? (1) 何も返さないので、常に false だと思いますか?

編集: 明確化、質問は if の二重括弧はなぜですか? 1が正しいことを知っています。

4

4 に答える 4

2

一般に、0はfalseに相当し、0はtrueに相当しません。

このリンクは、objective-cのboolについて説明しています:http://www.mindsizzlers.com/2010/04/objective-c-and-the-properties-of-bool/

于 2013-03-13T07:59:34.633 に答える
1

と の true 値と falseboolint

  • のブール値はの値falseと同等です。int0
  • のブール値は、ゼロ以外trueの値と同等です (例: 、、など)。int1103000

たとえば、次の C コードの例を考えてみましょう。

bool bValue;
int nValue;

bValue = true;
nValue = 1;

if (bValue == nValue) {
    printf("bValue and nValue are the same!\n");
}

// output: bValue and nValue are the same!

複数の括弧で囲みます:

次の 2 つのスニペットは、まったく同じ結果を返します。

if ((((((((((((((((((((1)))))))))))))))))))) {
   printf("Hello World!\n");
}

次と同じ結果を返します。

if (1) {
   printf("Hello World!\n");
}

if文中の表現

指定されたステートメント内ifに、真または偽の値に解決される式が必要です。表現例はこちらのページを参考にしてください。

于 2013-03-13T07:57:01.300 に答える