#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. С большинством чисел работает нормально, но, например, если я ввожу 47.2, то он печатает мне 47.200001 с 88.4321 на выходе 88.432098, но с другими числами, такими как 5.4, работает нормально 5.400000 Я использую Microsoft Visual Studio 10.
Другое дело, если в приведенном выше коде вместо float c поставить double я не могу печатать f Что мне поставить вместо %f? Но меня больше беспокоит мой первый вопрос, может быть, это как-то связано с компилятором, может быть, я компилирую код C как C++, я не знаю.
%f
и%lf
ведут себя одинаково при передаче вprintf()
, они отличаются только дляscanf()
. - person Dietrich Epp   schedule 01.07.2016