我有一个用于模拟数据包的结构,如下所示:
typedef struct{
int source;
int dest;
int type;
int port;
char data[50];
}test;
test packet[50];
我正在尝试将数据字段中的任何内容打印到屏幕上。我当前的代码如下所示:
printf("Enter a series of data numbers from 1-50: ");
scanf("%c", &packet[i].data[i]);
while (packet[i].data[i] > 48 || packet[i].data[i] > 57)
{
printf("Data series needs to be between 1-50, try again: ");
scanf("%c", &packet[i].data[i]);
}
printf("%c \n", packet[i].data[i]);
通过玩弄它,我已经能够编译它 - 有时它会给我 402018,有时是 X,有时只是完全跳过代码。
谁能看到我哪里出错了?我想在 packet[i] 的当前实例中打印出整个 char 数组(每次创建数据包时都会递增)
while 语句是为了确保输入的字符是一个数字,并且根据 ASCII,数字在所说的范围内。
请对我温柔一点,我对此很陌生。
非常感谢。