Thinkers'Studio
JavaとC言語の自習ツール
演算子の混同に気をつけよう( = と == )

= は代入の演算子、== は比較の演算子

 これら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 で ・・・)