#include "stdafx.h"
#include "stdio.h"
#include "math.h"
int main()
{
float c;
printf("Type c");
scanf("%f", &c);
printf("C is c: %f ",c);
while(getchar()!='\n');
getchar();
return 0;
}
非常に単純なコード、私はほとんどの数字でC. で起動OK動作しますが、例えばもしI入力47.2それは88.4321出力88.432098 で私47.200001を出力しますが、5.4作品のような他の数字とOK 5.400000 私はMicrosoft Visual Studio 10を使用します。scanf float、print float、別の値?
フロートを置く代わりに上記のコードを使用すると、もう一つは私はダブルを入れます私はprintfできません%fの代わりに何を置くべきですか? しかし、それは私の最初の質問をもっと心配しているかもしれません。多分、私はC++としてCコードをコンパイルしているかもしれません。
%lfはdoubleを出力します –
'%lf'と' double' ftw – Nakilon
@MichaelHaidl:標準によると、 '%f'と'%lf'は 'printf()'に渡されたときと同じ振る舞いをします。 'scanf()'とだけ違っています。 –