- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sqrtを知らないと言われます)
問題点を指摘する
このQ&Aのポイント
- sqrt関数の使用方法に問題があります
- コンパイルエラーが発生しています
- 不明な参照エラーが発生しています
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>をgcc -lm XXX.cでコンパイルしようとすると 手元のversion 4.4.6では、gcc -lm xxx.c でも大丈夫でしたが、念のため、gcc xxx.c -lm でやってください。
その他の回答 (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へキャストした方が間違いないと思います。
質問者
お礼
早速の回答大変有難うございます。
質問者
補足
引数の件はお恥ずかしい次第でした。引数の追加では事情はかわりませんでした。 アドバイスですが、初めはxをint x;で宣言し、sqrt(double x)と書くのでしょうか?
お礼
おお! うまくいきました。有難うございました。