Взаимодействие gets и scanf - Функция gets "пропускает" свой ввод - C (СИ)
Формулировка задачи:
Здравствуйте!
Столкнулся с такой проблемой: после использования функции Полученный результат:
scanf,
функцияgets
"пропускает" свой ввод. Как можно обойти такое "взаимодействие"?Gets
необходим для забивания предложения, программа должна быть написана только наСИ
... Вот пример, иллюстрирующий данную проблему:#include<stdio.h> void main() { FILE *f1; float p; char z[10],x[10],y[10]; f1=fopen("001.txt","wt"); if (fopen("001.txt","wt")!=NULL) { scanf("%f",&p); printf ("vvedeno:p=%f\n",p); gets(y); printf ("vvedeno:y=%s\n",y); gets(z); printf ("vvedeno:z=%s\n",z); gets(x); printf ("vvedeno:x=%s\n",x); fprintf(f1,"%f\n%s\n%s\n%s",p,y,z,x); } else (printf("/nCreate file 001.txt failure!")); }
36.599998 ac dc
Решение задачи: «Взаимодействие gets и scanf - Функция gets "пропускает" свой ввод»
textual
Листинг программы
f1=fopen("001.txt","wt"); if (fopen("001.txt","wt")!=NULL)
Объяснение кода листинга программы
- Программа открывает файл
001.txt
для записи (режимwt
). - Если файл успешно открыт, программа продолжает выполнение. Если файл не может быть открыт, программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д