首次尝试时始终验证错误

时间:2013-12-17 03:29:29

标签: c validation

所以我运行我的程序,当输入这组代码的结构数据时,当我输入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];
};

1 个答案:

答案 0 :(得分:1)

问题似乎是struct packet records上的分配错误。