Программа не считает количество пробелов в строке - C (СИ)
Формулировка задачи:
Добрый день! Программа компилируется, подсчитывает количество строк и табуляцию, но пробелы не считает. Подскажите, в чем ошибка?
#include <stdio.h> main() { int c, sp, tab, st; sp = 0; //spaces tab = 0; //tabulation st = 0; //strings while ((c = getchar()) != EOF) if (c == '\n') //подсчет символов новой строки ++st; if (c == ' ') //подсчет пробелов ++sp; if (c == '\t') //табуляция ++tab; printf("Spaces %d\nTabulation %d\nStrings %d\n", sp, tab, st); getch(); return 0; }
Решение задачи: «Программа не считает количество пробелов в строке»
textual
Листинг программы
while ((c = getchar()) != EOF) { if (c == '\n') //подсчет символов новой строки ++st; if (c == ' ') //подсчет пробелов ++sp; if (c == '\t') //табуляция ++tab; }
Объяснение кода листинга программы
- while((c = getchar()) != EOF) — это цикл, который выполняется до тех пор, пока символ, считываемый из файла или стандартного ввода, не станет конечным символом (EOF).
- if(c == '\n') — это условие, которое проверяет, является ли текущий символ символом новой строки. Если это так, то переменная st увеличивается на 1.
- if(c == ' ') — это условие, которое проверяет, является ли текущий символ пробелом. Если это так, то переменная sp увеличивается на 1.
- if(c == '\t') — это условие, которое проверяет, является ли текущий символ табуляцией. Если это так, то переменная tab увеличивается на 1.
- getchar() — это функция, которая считывает символ из файла или стандартного ввода и возвращает его.
- EOF — это константа, которая представляет конечный символ, обозначающий конец файла или стандартного ввода.
- st, sp, tab — это переменные, которые используются для подсчета символов новой строки, пробелов и табуляций соответственно.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д