2017-03-12 3 views
-2

私の質問は、%dを書式指定子として使用し、浮動小数点値である 'a'を出力しようとすると、答えが0になります。なぜそうであるか知りたいのですが。printfは浮動小数点変数を%d形式指定子の引数として取ることができますか?

#include<stdio.h> 
#include<conio.h> 

void main() 
{ 
    float a = 3.5; 
    clrscr(); 
    printf("The value of a is:%d",a); 
    getch(); 
} 
+0

'void main()'は標準Cではなく、printf変換指定子が引数の型にマッチしないと、プログラムに未定義の動作があることを意味します。何でも起れる。 0を印刷することは起こりうる最も問題の少ないことです。 – StoryTeller

答えて

0

%d指定子は整数のみをとります。浮動小数点数をフォーマットするには、%fを使用します。

入力に使用するフォーマット指定子を選択する方法については、printf manpageを参照してください。

関連する問題