質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

2回答

1894閲覧

C言語 関数について

Takumi0106

総合スコア17

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2015/10/02 14:53

c言語について勉強中の学生です。
現在関数の基本について学んでいるのですがその中で「入力した2数の平均を求める」関数を作るという課題で

#include <stdio.h> double ave(double a, double b); int main(void) { double a, b, avdt; scanf_s("%f",&a); scanf_s("%f",&b); avdt = ave(a, b); printf("a=%f b=%f 平均=%f\n", a, b, avdt); return 0; } double ave(double a, double b) { double wk; wk = (a + b) / 2.0; return wk; }

上のコードを書いたのですが
コンソール出力が

11.00 22.00
a=-92559604604876127478853486824510424902461280195486905331089408.000000 b=-9255
9604700657098782971540471907114099355604171658100467564544.000000 平均=-92559604
652766613130912513648208769500908442183572502899326976.000000
続行するには何かキーを押してください . . .

となりました。
これはコードに何か問題があるのでしょうか?
それとも別に問題があるのかがわかりません。
初歩的な質問だと思いますが、回答いただけたら嬉しいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

c

1 scanf_s("%f",&a); 2 scanf_s("%f",&b);

が問題です。
double型の変数の場合は、%fではなく、%lf(エルエフ)とする必要があります。

※ printfの方は%fのままで良いです。

投稿2015/10/02 15:10

MIURA_Yasuyuki

総合スコア306

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Takumi0106

2015/10/02 15:12

丁寧な説明、ありがとうございます。
guest

0

ベストアンサー

scanf系で%fは、float型ポインタで受けます。double型は%lfです。lは、longという意味。
一方printf系の%fdouble型です。

投稿2015/10/02 15:03

otn

総合スコア84555

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Takumi0106

2015/10/02 15:11 編集

なるほど!そういった違いがあったんですね。 よくわかり、覚えることができました! ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問