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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ExpressS
5 / 8 / 0
Регистрация: 30.07.2012
Сообщений: 235
#1

Почему условие "a && b == 0" не выполняется? - C++

03.10.2012, 20:41. Просмотров 767. Ответов 6
Метки нет (Все метки)

решил вспомнить c++, начал что то писать и непонятка
C++
1
2
3
4
5
6
7
8
9
10
11
void __fastcall TForm1::Button1Click(TObject *Sender)
{
     int a=0,b=0,s=0;
 
     if (a && b == 0)  //если а и б ровны 0 , а они ровны нулю 
     {
        s = s+1; //тогда с+1
 
     }
        Label2->Caption = s; 
}
почему условие то не выполняется? выводиться 0
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2012, 20:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Почему условие "a && b == 0" не выполняется? (C++):

Почему не работает функция std::regex_replace(temp,"amp;",""); - C++
Пробую вызывать функцию std::regex_replace(temp,"amp;",""); Пишет ошибку: test_ok_ruDlg.cpp 1>d:\visual studio...

В чём разница между возвратом "string" и "const string&" & - C++
class test { public: test(const string& text) { this->text = text; } string getText() { return text;

При вызове конструктора ошибка: L "Buffer is too small" & & 0 - C++
Привет. При вызове конструктора вылетает эта ошибка. Student(char *n, char *s, char *p, int y, char *g) { name = new char;...

Зачем "&" в "ostream& operator<<"? - C++
Здарова. Я представляю, что такое перегрузка операций, но вот наткнулся на непонятный синтаксис. enum Months{ Jan=1,...

Почему friend ostrem& operator <<(ostream& outs, const Rational&); - invalid function declaration? - C++
Пытаюсь скомпилировать программу пишет friend ostrem&amp; operator &lt;&lt;(ostream&amp; outs, const Rational&amp;); - invalid function declaration. ...

Expression: (L"Buffer is too small" && 0) - C++
Где ошибка и как её исправить? #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; const int Size = 5; struct...

6
Thinker
Эксперт С++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
03.10.2012, 20:41 #2
if (a == 0 && b == 0)
0
ExpressS
5 / 8 / 0
Регистрация: 30.07.2012
Сообщений: 235
03.10.2012, 20:50  [ТС] #3
Цитата Сообщение от Thinker Посмотреть сообщение
if (a == 0 && b == 0)
а у меня условие как выглядит?
C++
1
  if (!a && b)
это тоже самое?
0
gecheim
14 / 14 / 3
Регистрация: 21.01.2012
Сообщений: 119
03.10.2012, 21:06 #4
Цитата Сообщение от ExpressS Посмотреть сообщение
а у меня условие как выглядит?
C++
1
  if (!a && b)
это тоже самое?
это противоположное написаному тобой в первом посте

Добавлено через 1 минуту
Цитата Сообщение от ExpressS Посмотреть сообщение
решил вспомнить c++, начал что то писать и непонятка
C++
1
if (a && b == 0)
почему условие то не выполняется? выводиться 0
по этому условию проверяется если а равно 1 и b равно 0
0
ExpressS
5 / 8 / 0
Регистрация: 30.07.2012
Сообщений: 235
03.10.2012, 21:07  [ТС] #5
Цитата Сообщение от gecheim Посмотреть сообщение
это противоположное написаному тобой в первом посте
вы напишите по понятнее я в первом посте сам не понимаю что написал
на сколько я помню если а и б ровны нулю тогда что то делать
все понял
C++
1
if (!a && b) //если а ровно 0 и б ровно 1 так?
0
gecheim
14 / 14 / 3
Регистрация: 21.01.2012
Сообщений: 119
03.10.2012, 21:12 #6
Цитата Сообщение от ExpressS Посмотреть сообщение
вы напишите по понятнее я в первом посте сам не понимаю что написал
когда пишешь не сравнивая с конкретным числом то условие истино, если число равно 1, и ложно если 0.
при объединении условий через && ты проверяешь оба ли условия истины, т.о. в условии
C++
1
if(a && b==0)
ты проверяешь на равенство a числу 1 и b числу 0

Добавлено через 40 секунд
Цитата Сообщение от ExpressS Посмотреть сообщение
вы напишите по понятнее я в первом посте сам не понимаю что написал
на сколько я помню если а и б ровны нулю тогда что то делать
все понял
C++
1
if (!a && b) //если а ровно 0 и б ровно 1 так?
да так
1
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.10.2012, 23:48 #7
Если хотите проверить что-то на равенство, то так и пишите:
C++
1
if (a == 0 && b == 0) // условие истинно, если a равно 0 и b равно 0
Если так:
C++
1
if (!a && b) // условие истинно, если a равно 0 и b не равно 0
Если так:
C++
1
if(a && b==0) // условие истинно, если a не равно 0 и b равно 0
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2012, 23:48
Привет! Вот еще темы с ответами:

Ошибка : " L Buffer is too small & & 0" - C++
Здравствуйте. У меня возникла странная проблема: в недалеком прошлом рабочая программа начала выдавать ошибку: &quot; L Buffer is too small &amp; &amp;...

Где ошибка невозможно преобразовать указатель "this" из "const pers" в "pers &" при выводе объектов через cout - C++
Добрый день! Переписал код из книг Лафоре, создание мультимножества из собственных объектов- справочник телефонный, с именем и фамилией. ...

особенности передачи по "&&" - C++
я не знаю как называется передача по &quot;&amp;&amp;&quot; . я называю &quot;по двум загогулинам.&quot; вопрос №1: есть работающий код#include &lt;iostream&gt; void...

For(auto const& val : stime) .cpp(47) : error C2143: синтаксическая ошибка: отсутствие "," перед ":" - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdexcept&gt; #include &lt;locale&gt; #include &lt;cstdlib&gt; #include &lt;string&gt; #include...


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
03.10.2012, 23:48
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru