Почему мой строковый ввод не принимается
#include<stdio.h> #include<conio.h> #include<string.h> struct est { int sno; }; void main() { struct est s1; char name[40]; printf("enter a number\n"); scanf("%d", &s1.sno); printf("Name?\n"); fgets(name, 40, stdin); getch(); }
Я полный нуб в Си, и мне действительно нужна помощь.
Первый ввод идет нормально, но после того, как он печатает Имя? как только я нажимаю любую клавишу, он либо выходит (в Orange C IDE), либо показывает эквивалентный ASCII (Pelles C, хотя я уверен, что на самом деле он просто выходит)
Он прекрасно работает и без того, чтобы я использовал первый scanf, не знаю почему.
Любая помощь очень ценится: ^)
Что я уже пробовал:
Я тоже пробовал gets (), но напрасно.