Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.95
Ilyawow
24 / 24 / 5
Регистрация: 18.11.2011
Сообщений: 266
#1

Оператор gets() не хочет выполняться, если перед ним стоит scanf - C++

20.11.2011, 15:28. Просмотров 2544. Ответов 5
Метки нет (Все метки)

Всем привет !! Сталкнулся с такой проблемой что оператор gets() нехочет выполнять есле передним стоит scanf вот пример
C++
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
main(){
int a;
char str[123];
scanf("%d",a);
gets(str);
getch();
}
помогите пожалуйста пишу прогу для научно иследовательской конференции а тут такая хрень (извините за выражение )!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2011, 15:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Оператор gets() не хочет выполняться, если перед ним стоит scanf (C++):

Fgets не приостанавливает программу, если перед ним cin - C++
Почему после cin (конкретно после ввода, когда дошел до fgets) не приостанавливается программа? Проскакивает, будто пользователь уже что-то...

Перед каждым знаком '=' вставить символ, стоящий за ним, если таковой имеется - C++
нужно написать программу, которая читает с клавиатуры строку символов, преобразует ее и выводит результат на дисплей... помогите , ( с...

Если встречается нечетный элемент, то перед ним и после него вставить новые элементы со значением 0 - C++
Здравствуйте! Подскажите пожалуйста в чем ошибка! Задание: Если встречается нечетный элемент, то перед ним и после него вставить новые...

Списки. Если встречается нечетный элемент, то перед ним и после него вставить новые элементы со значением 0 - C++
Ребята, простите за глупость, но объясните пожалуйста, как реализовать такое задание: Если встречается нечетный элемент, то перед ним и...

Стоит ли использовать тернарный оператор, если всегда есть альтернативы в С ? - C++
Мне вот интересно , что скажут люди о Тернарном операторе, которые уже на С++ программируют немало. Насколько он удобен, много ли...

Если минимальный элемент матрицы стоит в первой строке, то элементы, стоящие в строке за ним, заменить нулями - C++
Задана матрица С(5,5). Если минимальный элемент стоит в первой строке, то все элементы стоящие в строке за ним, заменить нулями. Какие...

5
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
20.11.2011, 15:38 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
int main(){
int a;
char str[123];
scanf("%d",&a);
fflush(stdin);
gets(str);
getch();
}
0
Ilyawow
24 / 24 / 5
Регистрация: 18.11.2011
Сообщений: 266
20.11.2011, 15:43  [ТС] #3
Спасибо немоглибы расказать, что делает этот оператор или функция !!
0
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
20.11.2011, 15:44 #4
Ilyawow, гуглом пользоватся не умеешь?
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
20.11.2011, 16:08 #5
Цитата Сообщение от Ilyawow Посмотреть сообщение
Спасибо немоглибы расказать, что делает этот оператор или функция !!
http://www.cplusplus.com/reference/clibrary/cstdio/fflush/
В вашем случае чистит буфер клавиатуры
0
Kastaneda
Jesus loves me
Эксперт С++
4689 / 2893 / 236
Регистрация: 12.12.2009
Сообщений: 7,356
Записей в блоге: 2
Завершенные тесты: 1
20.11.2011, 16:21 #6
Дело в том, что после работы ф-ции scanf() в буфере ввода остается символ '\n', а ф-ция gets() считывает данные до этого символа. Т.к. она сразу на него натыкается, то создается впечатление, что она не работает, но это не так. Ф-ция fflush() как раз удаляет этот символ из буфера.
3
20.11.2011, 16:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2011, 16:21
Привет! Вот еще темы с ответами:

Оператор scanf не считывает с клавиатуры русский символ 'а' - C++
#include &quot;stdafx.h&quot; #include &lt;locale&gt; #include &lt;Windows.h&gt; #include &lt;WinUser.h&gt; #include &lt;conio.h&gt; #define MAX_STR_LEN 300 ...

При каких условиях else может не выполняться, если условие в if ложно - C++
А при каких условиях оператор условия else может не выполнятся, если условие в операторе if не верно У меня есть условие. И оно почему то...

К каждому элементу одномерного массива, имеющей четный номер, добавить элемент, который стоит перед ним - Pascal ABC
К каждому элементу одномерного массива, имеющей четный номер, добавить элемент, который стоит перед ним.

К каждому элементу одномерного массива, имеющей четный номер, добавить элемент, который стоит перед ним. - Pascal ABC
К каждому элементу одномерного массива, имеющей четный номер, добавить элемент, который стоит перед ним.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru