プロが教える店舗&オフィスのセキュリティ対策術

C言語のflagの使い方が分かりません。ライントレースでセンサーAのプログラムが動いている時、センサーBのプログラムを動かさないようにしたいので、flagを使って判断をさせるようにしたいです。
if(センサー4つ反応時)⬅A

turnleft();

else if(センサー3つ反応時)⬅B

turnright();

このままでコースを走らせると、Aの処理の後すぐにBの処理になってしまう箇所がある。
Aの処理中にBの処理にすべきか判断をさせて、すぐに処理が切り替わらなければOK。
(教科書に載ってなかった➡ネットで調べてみる➡flagの意味や定義しかない➡質問してみる⬅今ここ)

A 回答 (2件)

>C言語のflagの使い方が分かりません


C言語で「flagとして使う変数を用意する」というのであればわかりますが、
C言語には、そもそもflagという物はないと思います。

フラグ (flag)とは
「オン(on)」か「オフ(off)」のどちらかの状態を表す値が入る変数(値を入れておく箱)
であり
 2つの状態のどちらかを判断するために使う変数
です。

ご質問では、
センサー4つ反応時にオン、それ以外の時にはオフになるような変数を用意する
センサー3つ反応時にオン、それ以外の時にはオフになるような変数を用意する
ことが「flagとして使う変数を用意する」ことになります。

プログラミングとしては、これら変数に、
 その変数の意味になるような値を代入するプログラム
をこれらif文の手前に書けばよいことになります。
    • good
    • 0

その処理が


ループの中に入っているなら
Aの中でcontinueすればいいだけですし

フラグを使いたいなら
Aの中でTRUEにするなり1を立てるなりして
else ifの条件文にフラグの条件を追加すればいいです

処理の流れによってやり方は色々あります
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!