C言語、C++言語では、真偽は以下の様に定義されています。
真 | 0以外 |
偽 | 0 |
C言語の仕様上は、真は1ではありません。
C、C++を使用しているプログラマにとってみれば常識的な話ですが、初心者の方の中にはこの認識がない方もいらっしゃるようなのでご注意ください。
尚、bool型は、次に説明する、true か falseしかとりません。
true と false の定義
C++Builderでは、ヘッダー ファイル(stdbool.h)で、
bool true = 1;
bool false = 0;
と定義されています。
コード1:
if(a == true)
{
// 処理
}
と、
コード2:
if(a)
{
// 処理
}
は、動きが違ってきます。
コード1では、aの値が1の時のみ処理を実行しますが、
コード2では、aの値が、0以外の問に処理を実行します。aが、10でも、-1でも処理が実況されることになります。
参考URL
以下、参考となるURLです。