This is a newbie question. I am new to C programming. I have the following code which does not prompt for 'Name' Onece the 'Age' is entered, it bypass the 'Name section.
#include <stdio.h>
int main()
{
    char name[30],ch;
    int age;
    printf("Enter age : ");
    scanf("%d", &age);
    int i=0;
    printf("Enter name: ");
    while((ch = getchar())!='\n')
    {
        name[i]=ch;
        i++;
    }
    name[i]='\0';
    printf("Name: %s\n",name);
    printf("Age : %d\n", age);
    return 0;
}
After reading first prompt it bypass the second prompt which is using getchar() function. But if I change the order of prompt to ask for 'Name' first and then 'Age' it works fine.
The working code.
#include <stdio.h>
int main()
{
    char name[30],ch;
    int age;
    int i=0;
    printf("Enter name: ");
    while((ch = getchar())!='\n')
    {
        name[i]=ch;
        i++;
    }
    name[i]='\0';
    printf("Enter age : ");
    scanf("%d", &age);
    printf("Name: %s\n",name);
    printf("Age : %d\n", age);
    return 0;
}
My coding IDE is CodeBlock and my compiler is GNU C Compiler (mingw32-gcc.exe)
Please help me to breakthrough.
 
     
    