Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/14: Рейтинг темы: голосов - 14, средняя оценка - 4.57
Ilyawow
26 / 26 / 7
Регистрация: 18.11.2011
Сообщений: 266
1

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

20.11.2011, 15:28. Просмотров 2724. Ответов 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
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2011, 15:28
Ответы с готовыми решениями:

Замена одного символа на другой, если перед ним стоит запятая
Есть следующее задание. Если в строке символов есть сочетание &quot;d,&quot; то нужно заменить в этом...

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

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

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

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

5
asics
Freelance
Эксперт С++
2865 / 1800 / 355
Регистрация: 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
26 / 26 / 7
Регистрация: 18.11.2011
Сообщений: 266
20.11.2011, 15:43  [ТС] 3
Спасибо немоглибы расказать, что делает этот оператор или функция !!
0
Jupiter
Каратель
Эксперт С++
6581 / 4002 / 400
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
20.11.2011, 15:44 4
Ilyawow, гуглом пользоватся не умеешь?
0
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
20.11.2011, 16:08 5
Цитата Сообщение от Ilyawow Посмотреть сообщение
Спасибо немоглибы расказать, что делает этот оператор или функция !!
http://www.cplusplus.com/reference/clibrary/cstdio/fflush/
В вашем случае чистит буфер клавиатуры
0
Kastaneda
Jesus loves me
Эксперт С++
5058 / 3076 / 351
Регистрация: 12.12.2009
Сообщений: 7,774
Записей в блоге: 2
Завершенные тесты: 1
20.11.2011, 16:21 6
Дело в том, что после работы ф-ции scanf() в буфере ввода остается символ '\n', а ф-ция gets() считывает данные до этого символа. Т.к. она сразу на него натыкается, то создается впечатление, что она не работает, но это не так. Ф-ция fflush() как раз удаляет этот символ из буфера.
3
20.11.2011, 16:21
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2011, 16:21

Как должно выглядеть условие, если перед ним расположена функция?
Здравствуйте. Подскажите, пожалуйста, каким образом нужно изменить скрипт, чтобы можно было...

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

Если перед символом стоит #, то заменить его на точку
Ввести строку. Если перед символом стоит #, то заменить его на точку


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

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

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