1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
| Игорь |
3.11.2011 6:51
Сообщение
#1
|
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 56 Пол: Мужской Репутация: 2 |
Есть функция проверяющяя является ли её первый аргумент закрывающим тегом для второго аргумента. В первом сравнении я хочу проверить аргументы, а заодно передвинуться на один символ вперёд, но second почему-то не увеличивается. Что я не так делаю?
int isclose (char *first, char *second) Компилятор: gcc |
![]() ![]() |
| IUnknown |
3.11.2011 9:24
Сообщение
#2
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Вычисление логических выражений по короткой схеме
Как только значение выражения становится известным (а значение FALSE && что_угодно уже известно, это FALSE в любом случае), вычисление выражения прекращается. То есть, до второго сравнения дело даже не доходит... Кстати, конкретно в твоем случае && - это ошибка. Для того, чтоб уйти из функции, достаточно, чтоб ОДИН из ее аргументов не начинался с '<', то есть, поставь ||, и в этом случае (в первом условии) у тебя будет все нормально. Дальше, в цикле while все-таки придется переделать... Например, так: while (*first && *second) Сообщение отредактировано: IUnknown - 3.11.2011 9:56 |
Игорь Инкремент в условии 3.11.2011 6:51
Игорь Да, спасибо, опять глупая ошибка, прям как с тем к... 4.11.2011 7:33
IUnknown Не замечал особых проблем... Если хочешь - присоед... 4.11.2011 9:29
Игорь Не, спасибо, я сам. В крайнем случае возьму лист и... 4.11.2011 11:14![]() ![]() |
|
Текстовая версия | 8.12.2025 21:06 |