OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

C言語プログラム

  • すぐに回答を!
  • 質問No.119906
  • 閲覧数7678
  • ありがとう数6
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 40% (115/287)

学校のレポートでC言語のプログラムを作りました。ところが実行してみると計算値を表示させるところに

-1.#IND00

と表示されます。本当は実数が表示されるはずなに・・・
多分、私のプログラムが間違っているのだろうと思います。どこが間違っているのか目星をつけるためにこの出力結果の意味を教えてほしいのです。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル11

ベストアンサー率 29% (109/371)

こんにちは。
このエラーは、数値的なミスがあるときに表示されます。

fmod の説明には

-10.00/3.00 の剰余は -1.#IND00
3.00/0.00 の剰余は -1.#IND00

と出ています。
上は、負数の剰余は数学的にありえないため、
下は、数学的にゆるされていないため、
エラーになっています。

marradona さんの計算値がどのようなものかわかりませんが、
直前で数値を printf で表示して数学的エラーがないか、確認してみてはどうですか?
以外と0割りのエラーは多いですよ。(代入ミスとかで)
お礼コメント
marradona

お礼率 40% (115/287)

おっしゃる通りprintfで計算値を調べてみて原因を特定できました。どうやら
for文の中のdouble pow(double x, double y)への引数としてxが0、yが負の数となる場合があってそれが数値エラーとなったようです。
ありがとうございました。
投稿日時 - 2001-08-17 20:03:05
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル10

ベストアンサー率 31% (44/140)

恐らくは、文字列として表示しているのではないでしょうか? flot aaa; printf("%s",aaa); とかしていませんか? 具体的にプログラムを教えて頂けなければ、これ以上はわかりません。 ...続きを読む
恐らくは、文字列として表示しているのではないでしょうか?

flot aaa;

printf("%s",aaa);

とかしていませんか?

具体的にプログラムを教えて頂けなければ、これ以上はわかりません。
お礼コメント
marradona

お礼率 40% (115/287)

うーん。プログラムを見直しましたが、そういう間違いではないようです。
投稿日時 - 2001-08-17 16:54:17

このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ