Entrada Dev-C ++ ignorada

#include<stdio.h>
#include<conio.h>
main()
{
      int i;
      char c, text[30];
      float f;
      printf("\nEnter Integer : ");
      scanf("%d",&i);
      printf("\nEnter Character : ");
      c = getch();
      printf("\nEnter String:");
      gets(text);
      printf("\nEnter Float:");
      scanf("%f",&f);
      printf("\nInteger : %d",i);
      printf("\nCharacter : %c8",c);
      printf("\nString : %s",text);
      printf("\nFloat : %f",f);
      getch();
}

Por que este programa simples não consegue ler umstring usando ogets() função? O que mais devo usar para corrigir isso? Bem, funcionou no Turbo C no meu antigo PC de 32 bits, mas não aqui ...

questionAnswers(3)

yourAnswerToTheQuestion