C言語 - if 文は 0 or 非0 で判定される
C言語の if 文の判定は「0 or 0 以外」である。
0 は偽で、0 以外は真を意味する。
0 以外が真ということは、1 でも 10 でも 100 でも真になる。
if (100) {
printf("TRUE!\n");
}
0 が偽、1 が真と思っていると罠にはまる。
true, false と対応させるとその方がしっくりくるんだけど、そうではない。
気を付けて。
C言語の if 文の判定は「0 or 0 以外」である。
0 は偽で、0 以外は真を意味する。
0 以外が真ということは、1 でも 10 でも 100 でも真になる。
if (100) {
printf("TRUE!\n");
}
0 が偽、1 が真と思っていると罠にはまる。
true, false と対応させるとその方がしっくりくるんだけど、そうではない。
気を付けて。