IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> lower , Си, неясный код
сообщение
Сообщение #1


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Добрый день!
вот есть функция, которая большие буквы привращает в маленькии, но как она это делает?
#include <string.h>
int lower(int c)
{
char *Uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char *Lowercase = "abcdefghijklmnopqrstuvwxyz";
char *p = NULL;

return NULL == (p = strchr(Uppercase, c)) ? c : *(Lowercase + (p - Uppercase));
}

заранее благодарен.

итак strchr(Uppercase, c) возвращает указатель на первое вхождение или NULL. если не NULL, то возвращаем с(о_О) в противном случае что-то другое... однако, утверждение неверно в корне, поскольку функция "понижает", а не "повышает" буквы...

Сообщение отредактировано: compiler -


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
присвоения сдесь быть не может
Вот в том фрагменте, который я привел - сравнения как раз никакого нет, есть только присвоения... И если ты забудешь (то, что ты не можешь сделать присвоение вместо сравнения сознательно - это понятно) один знак равенства (что я намеренно и сделал) - то потом долго будешь искать ошибку...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Цитата(volvo @ 31.12.2007 14:05) *
Вот в том фрагменте ... то потом долго будешь искать ошибку...
пару дней наазад я час точно убил так:) (допустил ошибку в if)... Но в твоем фрагменте ошибку замечает компилятор, а налогично в выражение (2==3)=1; возникает (некорректная левая часть в присваивании)... Но я понял общую суть...


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 20.04.2024 15:40
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name