Поведение функции gets()

В этом фрагменте кода:

char name[25];
int a;
cout<<"Enter number: ";
cin>>a;
cout<<"Enter name: ";
gets(name);

прежде чем я смогу дать строковому имени [] какое-либо значение, оно автоматически пропускает его. Но когда я изменяю код и помещаю строковый ввод перед целочисленным,

char name[25];
int a;
cout<<"Enter name: ";
gets(name); 
cout<<"Enter number: ";
cin>>a;

это работает отлично. Почему поведение функции gets() таково? Любые другие функции потока строк, которые я могу использовать в качестве альтернативы?

0 ответов

Другие вопросы по тегам