Ожидание нажатия Enter - C (СИ)
Формулировка задачи:
Написал программку
Но она как только я введу 1 завершается, и я ничего не успеваю прочитать. Как сделать, что-бы она ждала, пока я нажму Enter?
#include <stdio.h> main() { int c; long tab,prob,strend; tab = 0; prob = 0; strend = 0; while ((c=getchar())!='1') { /* В идеале не '1', а EOF, но как EOF ввести с клавы я не знаю */ if (c == ' ') ++prob; if (c == '\n') ++strend; if (c == '\t') ++tab; } printf("probeli: %d\nokonchania strok: %d\ntabuliacii: %d\n",prob,strend,tab); }
Решение задачи: «Ожидание нажатия Enter»
textual
Листинг программы
#include <stdio.h> main() { char p; int c; long tab,prob,strend; tab = 0; prob = 0; strend = 0; while ((c=getchar())!='1') { if (c == ' ') ++prob; if (c == '\n') ++strend; if (c == '\t') ++tab; } printf("probeli: %d\nokonchania strok: %d\ntabuliacii: %d\n",prob,strend,tab); scanf(p); }
Объяснение кода листинга программы
В этом коде выполняется следующие действия:
- Объявляются три переменные:
p
типаchar
,c
типаint
иstrend
типаlong
. - Переменным
tab
,prob
иstrend
присваивается значение 0. - Запускается цикл
while
, который будет выполняться до тех пор, покаc
не станет равным 1. - Внутри цикла проверяется каждый символ, вводимый пользователем. Если символ равен пробелу, то увеличивается значение переменной
prob
на 1. Если символ равен символу новой строки, то увеличивается значение переменнойstrend
на 1. Если символ равен табуляции, то увеличивается значение переменнойtab
на 1. - После окончания цикла выводятся значения переменных
prob
,strend
иtab
на экран. - Затем пользователю предлагается ввести символ для проверки.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д