UbuntuのCのsqrt-c

平方根を見つけるプログラムを作成する必要がありますユーザーが入力する整数の。しかし、問題に遭遇しました-プログラムはsqrtを計算しません。インターネットで問題を検索し、すべての解決策を読みましたが、助けにはなりませんでした。このフォーラムには、このトピックに関する多くの質問がありますが、そこに記載されている解決策は私にとってはうまくいきません。

実際、 sqrt ユーザーが整数を入力すると、関数は機能しません。値を設定すると、完全に機能します。言い換えると、定数ではあるが変数ではないsqrtを見つけます。

私はこのコードでコンパイルします(どこにでも書かれているように) gcc -o sqrt -lm sqrt.c

私はUbuntuに取り組んでいます。

これはコードです:

#include<stdio.h>
#include<math.h>
main()
{
int a;
double b=sqrt(a);
scanf("%i", &a);
printf("sqrt of integer is %lf", b);
getchar();
getchar();
return 0;
}

回答:

回答№1は8
int a;
double b=sqrt(a);
scanf("%i", &a);

あなたは変数を使用しています(a)それを初期化する前に。の scanf 前に行く必要があります sqrt.


回答№2の場合は3

すでに2つの良い答えに何かを追加するには書かれている:Cの命令の主なシーケンスは線形であることに注意する必要があります-最初に書かれた命令が最初に実行されます。数学について話していたら、「bを 関数 sqrt(a)、b(a)が何であるかを調べます。」 独自の関数を定義することにより、実際にCでこれを行うことができますが、それは「何か別のものです。NB:コンピューターは、あなたがそれを行うように指示したとは思いません。あなたがそれをするように言ったことをします。