Я новичок в C и люблю изучать его до сих пор, однако я столкнулся с проблемой с моей программой, с которой мне трудно работать выяснить. В приведенной ниже программе, если пользователь вводит «1», тогда им будет предложено ввести «Ключ», «Возраст», «Имя» и «Фамилия». Однако, когда пользователь вводит «1», программа не ждет ввода пользователем значения «Ключ» и вместо этого печатает прямо на «Возраст».C Программа не ждет ввода пользователем значения
Выход после входа в «1»:
Введите следующую информацию: Key: Возраст:
Программа не ждет пользователя, чтобы войти в значение ключа, прежде чем просить пользователю ввести значение возраста. При создании программы ошибок и предупреждений не возникает.
Любая помощь очень ценится.
typedef struct userInputsContainer {
char inputOption[2];
char inputKey[2];
char inputAge[3];
char inputFName[10];
char inputLName[10];
}userInputsContainer;
int main()
{
struct userInputsContainer* container = (struct userInputsContainer*)malloc(sizeof(userInputsContainer));
printf("List of options..\n");
printf("1.Create Entry\n2.Search Entries\n");
fgets(container->inputOption, sizeof(container->inputOption), stdin);
if(container->inputOption[0] == '1')
{
printf("\nEnter the following information.. \n");
printf("Key: ");
fgets(container->inputKey, sizeof(container->inputKey), stdin);
printf("Age: ");
fgets(container->inputAge, sizeof(container->inputAge), stdin);
printf("First Name: ");
fgets(container->inputFName, sizeof(container->inputFName), stdin);
printf("Last Name: ");
fgets(container->inputLName, sizeof(container->inputLName), stdin);
}
}
@ пользователь3121023 нет необходимости хранить символ. А как насчет пустых строк? – Olaf