Подсчет цифр, символов-разделителей и прочих символов в массиве - C (СИ)
Формулировка задачи:
Здравствуйте. В учебнике дан код:
Код почему-то у меня не компилится. Не могу найти ошибку. Наверно еще потому, что не совсем понял работу массива:
Объясните пожалуйста
#include <stdio.h> /* подсчет цифр, символов-разделителей и прочих символов */ main() { int c, i, nwhite, nother; int ndigit[10]; nwhite = nother = 0; for (i = 0; i < 10, ++i) ndigit[i]= 0; while ((c = getchar()) != EOF) if (c >='0' && c <= '9') ++ndigit[c – '0']; else if (c == ' ' || c == '\n' || c == '\t') ++nwhite; else ++nother; printf("цифры ="); for (i = 0; i < 10; ++i) printf("%d", ndigit[i]); printf(", символы-разделители =%d, прочие =%d\n", nwhite, nother); }
for (i = 0; i < 10, ++i) ndigit[i]= 0; while ((c = getchar()) != EOF) if (c >='0' && c <= '9') ++ndigit[c – '0'];
Решение задачи: «Подсчет цифр, символов-разделителей и прочих символов в массиве»
textual
Листинг программы
::memset (ndigit, 0, sizeof (ndigit));
Объяснение кода листинга программы
- В данном коде используется функция memset, которая инициализирует все элементы массива ndigit значением 0.
- Функция memset принимает три аргумента: исходный массив, начальное значение и размер массива в байтах.
- В данном случае, ndigit - это массив, который будет использоваться для подсчета цифр.
- Размер массива в байтах - это второстепенный параметр, который используется функцией memset для правильной инициализации каждого элемента массива.
- После выполнения функции memset, все элементы массива ndigit будут равны 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д