こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

プログラミング 返り値

#include <stdio.h>
int sumn(double a);

int main(void) {

double b, answer;



while(1){
printf("Input a number:");
scanf("%lf",&b);
answer = sumn(b);
printf("(4*3.14*a*a*a)/3=%f\n",answer);

}


return 0;
}



int sumn(double a){
double sum;
sum=(4*3.14*a*a*a)/3;


return sum;
}

これを実行してもwarning C4244: 'return' : conversion from 'double ' to 'int ', possible loss of dataと出てしまい小数点を切り捨てて表示されてしまいます。
どこが間違っているのでしょうか?
教えてくださいm(_ _ )m

投稿日時 - 2011-06-17 19:28:21

QNo.6816542

困ってます

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

「どこが間違っているのでしょうか?」
 「int sumn(double a){」の行。もっと詳しく言えば、最初の3文字。プログラムは指定された通りの動作をしているだけですよ。

 関数における引数と返値には、一切関連性はないのですよ。Excelにだって、文字列を渡したら、文字列の長さを整数値で返す関数があるのですから。

投稿日時 - 2011-06-17 20:03:40

お礼

わかりました。ありがとうございましたm(_ _ )m

投稿日時 - 2011-06-17 20:27:59

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

int sumn(double a);

この文の各部分がそれぞれどういう意味を持っているのか説明してみてください。

それですべて解決します。

答え教えてもいいけどつまらないので、個人的にはこれで留めておきます。

投稿日時 - 2011-06-17 19:42:15

お礼

わかりました。ありがとうございましたm(_ _ )m

投稿日時 - 2011-06-17 20:28:15

あなたにオススメの質問