scanf está coletando a entrada errada

 #include<stdio.h> 
 int main(void)
 {
      double c;
      scanf("%f", &c);
      printf("%f", c);
 }

Este é um esforço de um programa que estou tentando escrever, mas recebo o mesmo problema com algo tão simples. quando executo isso e digito "1.0", ele imprime "0.007812". Analisei várias perguntas anteriores semelhantes às minhas e não consegui encontrar uma resposta apropriada.

questionAnswers(3)

yourAnswerToTheQuestion