0

Bash を使用すると、次のような単純な変数テストを実行できます

$ [ $foo ]; echo $?
1

$ foo=bar

$ [ $foo ]; echo $?
0

式は、引数が null でない場合にのみ true になります。

Cでの同様のテストは何でしょうか?

編集

int引数のために型を言ってみましょう。

4

1 に答える 1

1

一般に、C には暗黙的なブール変換があります。したがって、以下のすべてが「bad」と出力されます。

int a = 0;
if (a) {                  // if a is nonzero.
    printf("good");
}
else {
    printf("bad");
}

char* str = NULL;
if (str) {                  // if str is nonzero. (NULL is zero).
    printf("good");
}
else {
    printf("bad");
}
于 2012-10-11T05:47:11.900 に答える