- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:COBOL)
COBOLプログラムの解析で不可解な問題が発生!真になる判定分の原因は?
このQ&Aのポイント
- COBOLプログラムの解析中に、不可解な問題が発生しています。プログラム内にある判定文が真になる場合があり、その際の変数Aと変数Bの中身が異なることがわかりました。そこで疑問なのは、真になる条件の一つとしてA=299, B=202がありましたが、これは本来真になるべきではないはずです。どのような原因が考えられるのでしょうか?
- 【COBOL解析】不可解な問題発生!真になる判定分の変数Aと変数Bの中身が異なる
- COBOLプログラムの解析中に発生した不可解な問題についてです。プログラム内にある判定文が真になる場合があり、その際の変数Aと変数Bの中身が異なることが判明しました。真になるはずのない条件が真になってしまう原因は一体何なのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>IF A=189 >AND B=200 or 201 or 202 を省略せずに記述すると A=189 AND B=200 OR B=201 OR B=202 ですよね。で、計算の優先順位はANDが先なので、実質的に (A=189 AND B=200) OR B=201 OR B=202 となり、Aの条件に関わらずBが201または202の場合に真になります。 おそらくお望みの式を表すには A=189 AND (B=200 OR B=201 OR B=202) ではないかと思うのですが。
その他の回答 (1)
- osamuy
- ベストアンサー率42% (1231/2878)
回答No.1
お礼
ありがとうございました。