• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sqrtを知らないと言われます)

問題点を指摘する

このQ&Aのポイント
  • sqrt関数の使用方法に問題があります
  • コンパイルエラーが発生しています
  • 不明な参照エラーが発生しています

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

>をgcc -lm XXX.cでコンパイルしようとすると 手元のversion 4.4.6では、gcc -lm xxx.c でも大丈夫でしたが、念のため、gcc xxx.c -lm でやってください。

jamf0421
質問者

お礼

おお! うまくいきました。有難うございました。

その他の回答 (1)

  • ok-kaneto
  • ベストアンサー率39% (1798/4531)
回答No.1

>printf("The square root of %f is %f\n", sqrt(x)); 引数が1個たりないですね。%fが2個あるってことは、sqrt(x)だけでなく、xも出力するのでは? また、for文の変数をdouble型でやってしまうのは誤差があるので期待した回数だけ実行しない可能性があります。for文の変数自体はint型で行い、sqrtの引数として渡す時にdoubleへキャストした方が間違いないと思います。

jamf0421
質問者

お礼

早速の回答大変有難うございます。

jamf0421
質問者

補足

引数の件はお恥ずかしい次第でした。引数の追加では事情はかわりませんでした。 アドバイスですが、初めはxをint x;で宣言し、sqrt(double x)と書くのでしょうか?

関連するQ&A