Форум программистов, компьютерный форум CyberForum.ru

учусь разбирать чужой код - C++

Восстановить пароль Регистрация
 
kondusov
2 / 2 / 0
Регистрация: 01.06.2013
Сообщений: 152
02.10.2013, 19:09     учусь разбирать чужой код #1
что делает эта функция?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
static unsigned long foo (char *w)
{
    int c;
    unsigned long u = 0;
    
    while (*w != 0) {
        if (isalpha(*w)) {                   //буква или нет
            c = tolower(*w) - 'a';                            //делает строчной
            u |= 1 << c;                                                       //что конкретно делает эта строка?
        } else {
            fprintf(stderr, "Invalid char\n");
            exit(-1);
        }
        w++;
    }
    return u;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2013, 19:09     учусь разбирать чужой код
Посмотрите здесь:

Массивы. Только учусь. Выборка и сортировка C++
Решит, вроде легко, но учусь на элементарных! Дайте экстра-класс C++
Как научиться эффективно читать чужой код С++ C++
C++ Учусь c ++
Учусь умножать C++
Учусь программированию на языке с++ самостоятельно C++
Перегрузка операторов. Учусь. Ошибка C++
Использование чужой dll в своей программе C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
tony_pershin
16 / 16 / 1
Регистрация: 05.03.2013
Сообщений: 36
02.10.2013, 19:23     учусь разбирать чужой код #2
С помощью результата этой функции (переменной u) можно будет определить, какие символы были использованы в массиве w. В английском алфавите 26 символов, в переменной u 32 бита. Строка "u |= 1 << c" устанавливает в переменной u бит, порядковый номер которого равен порядковому номеру символа в алфавите (точнее, в ansii таблице, но в данном случае значения одинаковые). Например, если строка w == "abc", то переменная u в двоичном виде будет выглядеть так: 0000 0000 0000 0000 0000 0000 0000 0111
Yandex
Объявления
02.10.2013, 19:23     учусь разбирать чужой код
Ответ Создать тему
Опции темы

Текущее время: 11:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru