所以我运行我的程序,当输入这组代码的结构数据时,当我输入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 :(得分:1)
问题似乎是struct packet records
上的分配错误。