Цикл выполняется по 2 раза проскакивая scanf - C (СИ)
Формулировка задачи:
#include <stdio.h>
main()
char b[100];
int m;
for(m=1;m<=100;m++)
{printf("Vvedite %d bukvu slova\n",m);
scanf("%c",&b[m]);
if(b[m]==' ') break;}
}Решение задачи: «Цикл выполняется по 2 раза проскакивая scanf»
textual
Листинг программы
#include <stdio.h>
int main()
{
char b[100];
int m;
for(m=0;m< 99;m++)
{
printf("Vvedite %d bukvu slova\n",m);
fflush(stdin);
scanf("%c",&b[m]);
if(b[m]==' ')
break;
}
}
Объяснение кода листинга программы
В этом коде:
- Объявлены две переменные: char b[100] и int m.
- Переменная m итерирует от 0 до 98 в цикле for.
- На каждой итерации выводится сообщение
Vvedite bukvu slova\nс помощью функции printf. - Функция fflush(stdin) используется для очистки буфера ввода.
- Затем выполняется функция scanf, которая считывает один символ из стандартного ввода и сохраняет его в массиве b с индексом m.
- Если считанный символ является пробелом, то цикл прерывается с помощью оператора break.
- Если цикл завершается, то программа заканчивается.