Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
148 / 118 / 37
Регистрация: 27.10.2011
Сообщений: 690
1

Двойное сравнение char

27.07.2013, 23:06. Показов 1220. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Код:
C++
1
2
3
4
5
6
7
8
9
10
11
int main()
{
    std::string buf;
    std::cin >> buf;
 
    std::cout << (buf[0]==buf[1]=='/') << '\n';
 
    system("pause");
 
    return 0;
}
В консоль вводится строка "//", почему выводится 0? Даже при том что такие примеры кодов:
C++
1
2
3
4
5
6
7
8
9
10
11
int main()
{
    std::string buf;
    std::cin >> buf;
 
    std::cout << (buf[0]=='/') << '\n';
 
    system("pause");
 
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
int main()
{
    std::string buf;
    std::cin >> buf;
 
    std::cout << (buf[1]=='/') << '\n';
 
    system("pause");
 
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
int main()
{
    std::string buf;
    std::cin >> buf;
 
    std::cout << (buf[0]==buf[1]) << '\n';
 
    system("pause");
 
    return 0;
}
Пишут в консоль 1
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.07.2013, 23:06
Ответы с готовыми решениями:

Сравнение текста из файла и сравнение с текстом в программе char - Dev C++
Доброго времени суток! Имеется код программы: ifstream test(&quot;primer.txt&quot;); char awm = &quot;kod&quot;;...

Сравнение разных типов *Char и Char
Друзья, выполняю задание по имитации консольной команды Windows. Встретился с проблемой разделения...

Сравнение char
Всем привет. Программа получающая данные по ком-порту. Данные считываются побайтово. Полученные...

Сравнение char-ов
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;Windows.h&gt; #include &lt;cctype&gt; using namespace...

2
415 / 411 / 95
Регистрация: 06.10.2011
Сообщений: 832
27.07.2013, 23:16 2
потому что вы сравниваете логический тип с символом '/'
C++
1
2
b[0] == b[1] //дает true или false
//а дальше результат сравнивается с символом '/'
Добавлено через 41 секунду
и надо делать проверку на размер
C++
1
std::cout << (buf.size() > 1 ? buf[0] == '/' && buf[1] == '/' : false) << '\n';
1
148 / 118 / 37
Регистрация: 27.10.2011
Сообщений: 690
27.07.2013, 23:21  [ТС] 3
Цитата Сообщение от Olivеr Посмотреть сообщение
потому что вы сравниваете логический тип с символом '/'
C++
1
2
b[0] == b[1] //дает true или false
//а дальше результат сравнивается с символом '/'
Аа вот я идиот. Спасибо

Цитата Сообщение от Olivеr Посмотреть сообщение
и надо делать проверку на размер
C++
1
std::cout << (buf.size() > 1 ? buf[0] == '/' && buf[1] == '/' : false) << '\n';
Это само собой, выше представленный код - всего лишь пример
0
27.07.2013, 23:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.07.2013, 23:21
Помогаю со студенческими работами здесь

Сравнение char-а и string-a
Здравствуйте подскажите есть задача есть string s =&quot;dlkjasldklj&quot;; и есть char g =...

Сравнение двух char
Вообщем столкнулся с такой проблемой что нужно сравнить два чара между собой,причем char name;...

Сравнение двух char
Здравствуйте! Есть задание: поиск строки в файле. Вот что написал: #include &quot;stdafx.h&quot;...

Сравнение char строк
#include &lt;iostream&gt; using namespace std; int main() { float a, b; int c; char d; cout...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru