Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 3 / 0
Регистрация: 28.06.2013
Сообщений: 359

Логический оператор AND

24.05.2014, 11:16. Показов 1181. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите понят что делает этот код и как.
C++
1
2
char *cp="Hello World!";
while(cp && *cp)
Я не могу понят первая строка указатель или массив. Если это массив то где фигурные скобки, или оператор new. В любом случае *cp указывает на "Hello World!". Тогда что делает цикл while? cp или *cp не может быт false ибо один инициализиован как строка другой адрес. Если я рассуждаю верно то цикл while теряет свою значимость ( он не чего не делает.) Но я могу ошибаться ( по моему я не прав с большой вероятностью)

Добавлено через 1 минуту
Вообще что означает cp && *cp?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.05.2014, 11:16
Ответы с готовыми решениями:

Логический оператор or
Мне, правда, очень стыдно :) но я не понимаю, как правильно прописать следующее: cin >> n; if (n != (1|5|25)){ cout <<...

Логический оператор ИЛИ
Всем привет,на днях преподаватель задал интересный вопрос: "Почему в С++ для оператора ИЛИ используют "|| ",а не "|"...

Не выполняется логический оператор &&
Добрый день. В данном коде #include <iostream> #include <string> #include <cstdlib> using namespace std; int main(){ ...

3
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
24.05.2014, 11:20
проверили указатель cp на 0 и символ на '\0'
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
24.05.2014, 11:32
Лучший ответ Сообщение было отмечено Altair42 как решение

Решение

Цитата Сообщение от Altair42 Посмотреть сообщение
Я не могу понят первая строка указатель или массив. Если это массив то где фигурные скобки, или оператор new.
это указатель на строковый литерал. То есть на константную строку, которая заранее загружена куда-то в память, не мы её выделяли, мы её даже изменить не можем, только "указать" на неё указателем и читать.
Цитата Сообщение от Altair42 Посмотреть сообщение
Тогда что делает цикл while? cp или *cp не может быт false ибо один инициализиован как строка другой адрес.
в языке С++ условие это не только true или false. Это любое выражение. Условие выполняется, если выражение принимает любое ненулевое значение. В данном случае, условие цикла это то, чтобы И сам указатель не был нулевым И на нулевой символ в строке не указывал.
Цитата Сообщение от Altair42 Посмотреть сообщение
while теряет свою значимость ( он не чего не делает.)
ничего...
нет, очевидно, внутри цикла указатель увеличивается на одну позицию за каждый проход, таким образом указатель указывает в цикле по очереди на все символы строки от первого до последнего. А последний символ в строке - нулевой. для этого и условие.
1
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
24.05.2014, 11:33
Цитата Сообщение от Altair42 Посмотреть сообщение
Если я рассуждаю верно то цикл while теряет свою значимость
А где там сам цикл? Видно только условие цикла, поэтому о чём можно рассуждать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.05.2014, 11:33
Помогаю со студенческими работами здесь

Логический оператор
Есть ли не побитовый логический оператор исключающее ИЛИ (XOR) ? Или его нужно реализовывать программно?

Логический оператор IF
Люди помогите пожалуйста, есть такая проблемма: на фомре стоит DBGrid, при двойном клике по DBGrid должно открываться другие четыре...

Вернуть логический оператор
Можно ли в js вернуть логический оператор, который бы корректно работал? А-ля: function return('v') { if (v > 3) { return > }...

Логический оператор ИЛИ , и результат
ЛОГИЧЕСКИй ОПЕРАТОР ИЛИ. в оглавлении ошибся. Добрый вечер, вот ситуация, есть несколько объектов одного класса , у которых есть метод,...

Тернарный и логический оператор - что оптимальнее
Что выгоднее использовать с точки зрения оптимизации памяти - тернарные операторы ..инициализация a,b,c.. c=a...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru