Ввод строки в структуру с помощью СИ?

#include <stdio.h>
#include <string.h>
#include <locale.h>
#include "C:\color.h"

struct criterion
{
    int firstlast;
    int aword;
    int bword;
    int shortw;
};

struct line
{
    char word[40];
    int len=strlen(word);
    struct criterion cr;
};


int main(){

struct line ln[100];

setlocale(LC_ALL,"");

int i,n,k=0,ka=0,kb=0,j,minw=100,kc=0,l;
char **s,c[300],*istr;
char sep[]=" ";
char wa[100];
char miw[100];

printf("Введите количество слов, которое вы хотите ввести:");scanf("%i",&n);
for( i=0; i < n ; i++)
    {
    printf("%i слово:",i+1);
    gets(ln[i].word);
    }
for( i=1; i < n ; i++)
    printf("%s",ln[i].word);
return 0;
}


Имея такой код захотел ввести слова в массив используя структуры(не вникайте в смысл программы, я сам недоволен идиотизмом использования структур, что поделать, универ), но сталкиваюсь с такой проблемой, что консоль не дает возможность ввести первое слово, пропускает и ждет ввод остальных, скажите пожалуйста, как исправить?6072ca6d4fadb575463176.png
  • Вопрос задан
  • 622 просмотра
Решения вопроса 1
@cicatrix
было бы большой ошибкой думать
Мне кажется, на первый ввод попадают данные из буфера stdin после scanf
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы