Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2014, 01:33   #1
HaCTeHka_007
 
Регистрация: 06.03.2014
Сообщений: 5
По умолчанию Массив строк в Си

Доброго времени суток.
такая проблема: нужно ввести массив строк, чтобы в строках были пробелы. Написала через gets, но он почему-то пропускает ввод строки на первой итерации, хоть какой начальный i не ставь, всё равно так делает. А если поменять gets на scanf то всё работает прекрасно, но scanf пробелы не читает..

Код:
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <string.h>
#define N 6
#define M 80
int main()
{
    short int i,n;
    char a[N][M];
    printf("vvedite kolichestvo strok-> ");
    scanf("%hd",&n);
    if (n>N) n=N;
    for(i=0;i<n;i++) 
    { 
                     gets(a[i]);
                     printf(" i=%hd ",i); 
    }
    printf("\n");
    for(i=0;i<n;i++)
    puts(a[i]);                  
  getch();	
  return 0;
}
и вот что не так вообще понять не могу. объясните пожалуйста

Последний раз редактировалось Stilet; 22.12.2014 в 08:02.
HaCTeHka_007 вне форума Ответить с цитированием
Старый 22.12.2014, 08:11   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Поставь scanf("%hd\n",&n); или после своего сканфа getchar(). Сканф энтер не считывает у тебя, потому первый gets() срабатывает, увидев несчитанный Энтер.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.12.2014, 12:43   #3
HaCTeHka_007
 
Регистрация: 06.03.2014
Сообщений: 5
По умолчанию

Спасибо большое)
HaCTeHka_007 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как преобразовать массив строк в массив чисел на C#? orfos Помощь студентам 4 03.10.2014 15:56
Дан массив строк текста, строка символов разделителей. Сформировать текст из строк, содержащих заданное слово. Отсортировать дестронг Помощь студентам 1 16.05.2014 08:48
Написать алгоритм, который реализует jagged массив (рваный массив с различной длиной строк), используя список списков (Pascal ABC) бабуся Помощь студентам 0 29.04.2013 00:07
Массив Строк Painkiller_13 Общие вопросы Delphi 2 17.11.2012 23:45