これら2つの演算子は、似てるけど全然違う機能です。
最初のうちは、うっかり書き間違えてしまうことがありますが、コンパイル・エラーになりません。
プログラムの実行結果が思い通りにならず、どこが悪いのか気づきにくい間違いになる場合があります。
↓ こう書いて
#include <stdio.h>
main()
{
int visitors; //入場者数
visitors = 314; //314人目
if( visitors == 1000 ) printf( "1000人目のお客様です\n" );
}
実行すると、1000人でないのでメッセージは表示されません。
|
↓ でもこう書いてしまうと
#include <stdio.h>
main()
{
int visitors; //入場者数
visitors = 314; //314人目
if( visitors = 1000 ) printf( "1000人目のお客様です\n" );
}
実行すると、「1000人目のお客様です」と表示されてしまいます。(今回のクイズです) 「でもこう書いてしまうと」のプログラムでは、visitors に何を代入しても結果は同じです。 なぜでしょうか? 考えてみましょう。 (答えは、次回のC言語の Tips で ・・・) |