• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:代入されません(C言語))

C言語でのプログラムで関数hanteiの部分で正しく条件判定がされない問題

このQ&Aのポイント
  • C言語のプログラムで、関数hanteiの部分で条件判定が正しく行われない問題が発生しています。
  • プログラムの中でs0とsikii0の値を比較し、s0がsikii0以上であればz0に1を代入するようになっていますが、IC=7 ID=7の場合、s0=1.20でsikii0=0.9なのにも関わらずz0に1が代入されていない状況です。
  • 問題の原因が分からないため、他の箇所を確認しましたが、問題の解決策が見つかりませんでした。何かアドバイスや指針をいただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • asuncion
  • ベストアンサー率33% (2127/6290)
回答No.2

No.1の回答をした者です。 s0とs1には、ゼロを代入したきりですので、 souwa関数かどこかで s0 = (double)m0*w00 + (double)m1*w01 + (double)m1*w02; s1 = (double)m0*w10 + (double)m1*w11 + (double)m2*w12; のような処理が必要かもしれません。 これらの処理が正しいかどうかは、確認してください。

noname#39315
質問者

お礼

早速のご回答ありがとうございます! s0,s1の表示はしているのだけど、代入が抜けていました。 結構悩んだわりにはしっかりトレースして考えてないことがよくわかりました・・・。 ありがとうございました^^

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • asuncion
  • ベストアンサー率33% (2127/6290)
回答No.1

> void souwa(void){ > printf("総和 s0=%f s1=%f\n",(double)m0*w00 + (double)m1*w01 + (double)m1*w02, > (double)m0*w10 + (double)m1*w11 + (double)m2*w12); > } souwa関数で上記のように出力しています。 メッセージは確かに "s0=何とか s1=何とか" ですが、 実際に出力しているのはs0やs1の値ではない、別の内容ですね。 hantei関数の中で、if文で比較する直前の s0, sikii0, s1, sikii1の値を出力してみてください。

すると、全ての回答が全文表示されます。

関連するQ&A