2013-12-17 5 views
1

Итак, я запускаю свою программу и при вводе данных для структуры на этом наборе кода всегда получаю сообщение об ошибке при вводе 1 в качестве данных, которые я хочу ввести. Хотя, если я снова введу ту же цифру, это сработает. Я выделил это, чтобы быть частью этого кода, как когда я прокомментирую это, все работает отлично!Ошибка проверки всегда при первой попытке

Кто-нибудь может помочь?

do{ 
    puts("What is the packet type?"); 
    if(scanf(" %d", &records[*rCount].type) == 1 
     && records[*rCount].type >= 0 
     && records[*rCount].type <= 10) 
    { 
     valid = 1; 
    } 
    else 
    { 
     valid = 0; 
     getchar(); 
     puts("\nNot a valid input"); 
    } 
}while(valid!=1); 

определение структуры:

struct packet{ // declare structure for packet creation 
    int source; 
    int destination; 
    int type; 
    int port; 
    char data[51]; 
}; 
+0

Как нарушается ваша структура? – rullof

+0

Обновлено со структурой – user3103598

+0

Показать 'records []' – chux

ответ

1

Проблема, как представляется, ошибка распределения на struct packet records.

Смежные вопросы