У меня есть структуры, которые я использую, чтобы эмулировать пакет, который выглядит следующим образом:Как напечатать массив целых чисел
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, а иногда и просто пропускает код вообще.
Может ли кто-нибудь увидеть, где я ошибаюсь? Я хочу распечатать весь массив символов в текущем экземпляре пакета [i] (увеличивается каждый раз, когда создается пакет)
Оператор while должен убедиться, что введенный символ является числом и соответствует к ASCII, номера находятся в указанном диапазоне.
Пожалуйста, будьте нежны со мной, я очень к этому знаком.
Спасибо большое.
Просьба показать внешний контур (где управляется значение 'i'). Также вы хотите ввести тестовые данные через файл, а не интерактивно - программисты не выполняют ввод данных! : D – trojanfoe