Код:
#include <stdio.h> [s]Исправлено: hasherfrog, 11:44 8-09-2004[/s] |
В переменной с - код введенного символа. Потом от неё отнимают код символа '0' (нуль), следовательно результатом будет сама введенная цифра (а не её ASCII-код). А потом увеличивают элемент массива с индексом, соответствующим введенной цифре, на единицу.
|
То есть, как я понял, ascii значение переэтовает в двоичный код, пересылается в регистер, отнимается от туда 0, и на переменную с перезаписывается уже не ascii код цифры, а двоичный код этой цифры?
Никогда и нигде не происходит обратного преобразования в ascii? |
Guest
(c – '0') - вычисление числа из ascii-кода цифры. (ndigit[c – '0']) - обращение к ячейке массива, соответствующей цифре. (++ndigit[c – '0'];) - увеличение этой ячейки на 1. Т.о. идёт подсчёт количества встреченных ascii-кодов, соответствующих каждой цифре 0-9, т.е. для каждой цифры свой счётчик. |
Время: 02:03. |
Время: 02:03.
© OSzone.net 2001-