質問: C言語のdoubleの変数a,b,cを宣言し、キーボードより3つの値を読み込む。
回答: 間違い1 >doubleの変数a,b,cを宣言 double になっていません。 double にすると、当然 scanf("%d",&... も変わります。 間違い2 >結果を返す関数hantei() void hantei(double a,double b,double c) void は、結果を返さない(引数に書いてあれば引数を受け取らない)関数です。 間違い3 >b*b-4*a*c >の結果を返す 繰り返し(while)は必要ありません。 単純に return b*b-4*a*c; だけです。 普通は double に合わせるために、 return b*b-4.0*a*c; としますが、問題が 4 となっているなら、4にします。 周りが double なので、4.0 の double に格上げして計算されますので 結果に差は出ません。 間違い4 hantei() が呼ばれていません。 当然ですが、hantei() の返した結果は、hantei() の返す型と同じでなくてはいけません。