ここから本文です

C言語学習初心者何ですが、 下に書いてある中で間違っているところはありますか?

sphinx_ykiさん

2014/12/2222:14:53

C言語学習初心者何ですが、
下に書いてある中で間違っているところはありますか?

実行してみたんですが実行は出来たものの思っていたのと違いました。
本当は写真のように実行させたいです。
変なところがあったら教えてほしいです。
お願いします!


#include <stdio.h>
#include <windows.h>


int main(){
int num;
double dnum;
float fnum;
printf("1.整数を入力してください:");
scanf("%d",&num);
printf("2.実数を入力してください:");
scanf("%1f",&dnum);
printf("3.実数を入力してください:");
scanf("%f",&fnum);


printf("-入力した値のリスト-\n");
printf("1:%d\n",num);
printf("2:%.10f\n",dnum);
printf("3:%.10f\n",fnum);
return 0;
}

scanf,printf,float fnum,double dnum,windows.h&amp;gt,dnum,%lf&amp;quot

閲覧数:
58
回答数:
3

違反報告

ベストアンサーに選ばれた回答

2014/12/2300:01:02

以下が間違ってます。

scanf(&quot;%1f&quot;,&amp;dnum);

printf関数やscanf関数のフォーマットでは%2dのように数字を付加すると入出力する桁数を指定できます。

今回の%1fという指定をしてしまうと入力は一桁しか認識しません。
さらにfloat型の指定であるfのみにしてしまうとdouble型だと桁数が足りなくなります。

なので、long floatの略である%lfで指定するのが正解です。

質問した人からのコメント

2014/12/23 06:26:31

ありがとうございます!
うまくできました!

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

amatu200さん

2014/12/2222:29:40

scanf("%1f",&dnum); → scanf("%lf",&dnum);

k032yfさん

2014/12/2222:29:00

sphinx_ykiさん

printf("2.実数を入力してください:");
//scanf("%1f",&dnum);
scanf("%lf",&dnum);//l(Lの小文字)

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

5文字以上入力してください

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。