I can't seem to figure out what is going on with my output. I am reading in multiple lines of user input and outputting corresponding input that exceeds a lower boundary. For some reason when I output, the string that's outputted is omitting the first character of the string. Can anyone tell me why this is occuring?
#include <stdio.h>
typedef struct{
   char  name[4];
   int   population;
} state;
enum { MAX_STATES = 10 };
int main()
{
    state myStates[MAX_STATES];
    int c;
    int i = 0;
    while ((c = getchar())!= EOF)
    {
        scanf("%s %d\n", myStates[i].name, &myStates[i].population);
        i++; 
    }
    // printf("Last character is [%d]\n", c);
    printf("");
    if (c <= 0)
    {
        for(int j = 0; j <= MAX_STATES; j++)
        {
            if(myStates[j].population >= 10)
                printf("%s %d\n", myStates[j].name, myStates[j].population);
            else
                break;
        }
    }
    return 0;
}
Input:
TX 23
CA 45
Output:
X 23
A 45
Updated Code:
#include <stdio.h>
typedef struct{
   char  name[4];
   int   population;
} State;
enum { MAX_STATES = 10 };
int main()
{
    State myStates[MAX_STATES];
    int i, j;
    // Function to read in multiple lines (up to 10) of user input; loop 
    // controls in place, detects format problems, prevents string buffer 
    // overflows.
    for (i = 0; i < MAX_STATES; i++)
    {
        if (scanf("%2s %d\n", myStates[i].name, &myStates[i].population) != 2)
            break;
    }
    // Function to output (stdout) array of State structs that exceed 10 
    // population. 
    for(j = 0; j < i; j++)
        {
            if(myStates[j].population >= 10)
                printf("%s %d\n", myStates[j].name, myStates[j].population);
            else
                break;
        }
    return 0;
}
The output as posted, only goes until there is an input that is less than 10 and it breaks out of the loop. When I didn't have that break statement, I was getting garbage output at the last line. Any suggestions to improve the output?
 
     
     
    