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

Условие - C++

Восстановить пароль Регистрация
 
sergey_viper
9 / 3 / 1
Регистрация: 15.04.2012
Сообщений: 177
30.09.2012, 21:18     Условие #1
Помогите составить условие:
C++
1
if (0=pow(x,s)+1)
Выдаёт:
C++
1
error: lvalue required as left operand of assignment
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2012, 21:18     Условие
Посмотрите здесь:

C++ условие в if
C++ Условие
Условие в while C++
условие C++
C++ Условие if
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2012, 21:21     Условие #2
C++
1
if (0 == pow(x, s) + 1)
Elfenlide
23 / 23 / 1
Регистрация: 15.04.2012
Сообщений: 183
30.09.2012, 21:21     Условие #3
Цитата Сообщение от sergey_viper Посмотреть сообщение
Помогите составить условие:
C++
1
if (0=pow(x,s)+1)
Выдаёт:
C++
1
error: lvalue required as left operand of assignment
Вам стоит почитать книги...
if ((pow(x,s) + 1) == 0)

а лучше:
int r = (pow(x,s) +1)
if (r == 0)
sergey_viper
9 / 3 / 1
Регистрация: 15.04.2012
Сообщений: 177
30.09.2012, 21:23  [ТС]     Условие #4
Цитата Сообщение от Elfenlide Посмотреть сообщение
Вам стоит почитать книги...
if ((pow(x,s) + 1) == 0)

а лучше:
int r = (pow(x,s) +1)
if (r == 0)
Блин) Как же тупо лоханулся Спасибо огромное
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2012, 21:29     Условие #5
sergey_viper, кстати, выбрал предподчительную последовательность записи условия:
C++
1
if (0=pow(x,s)+1)
Если бы так написал:
C++
1
if (pow(x,s)+1 = 0)
, то компилятор бы и не прореагировал.
Elfenlide
23 / 23 / 1
Регистрация: 15.04.2012
Сообщений: 183
30.09.2012, 21:43     Условие #6
Цитата Сообщение от alsav22 Посмотреть сообщение
sergey_viper, кстати, выбрал предподчительную последовательность записи условия:
C++
1
if (0=pow(x,s)+1)
Если бы так написал:
C++
1
if (pow(x,s)+1 = 0)
, то компилятор бы и не прореагировал.
А можно подробнее почему так лучше?
Не прореагировал, в смысле выбил бы ошибку?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.09.2012, 22:06     Условие #7
Тут я неправильно написал. В данном случае прореагировал бы. Если бы вот так было:
C++
1
2
3
4
int a;
cin >> a;
if (a = 0)
...
то не прореагировал бы. С точки зрения компилятора, тут ошибки нет. А если так:
C++
1
if (0 = a)
, то выдаст ошибку. Такая запись позволяет избежать распространённой ошибки, когда вместо == пишут =.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
01.10.2012, 00:35     Условие #8
Цитата Сообщение от alsav22 Посмотреть сообщение
то не прореагировал бы. С точки зрения компилятора, тут ошибки нет
Прореагировал бы предупреждением. А ошибки действительно не выдал бы.
Можно поставить в настройках, чтобы все предупреждения считались ошибками, тогда бы и ошибку выдал)
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.10.2012, 01:20     Условие #9
Предупреждение по поводу чего?
Миниатюры
Условие  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2012, 01:42     Условие
Еще ссылки по теме:

C++ Составить программу, которая выводит на экран слово «ИСТИНА», если условие выполнено или слово «ЛОЖЬ», если условие не выполнено.
Условие C++
Условие C++

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.10.2012, 01:42     Условие #10
Цитата Сообщение от I.M. Посмотреть сообщение
Прореагировал бы предупреждением.
Только не Студия.
Yandex
Объявления
01.10.2012, 01:42     Условие
Ответ Создать тему
Опции темы

Текущее время: 13:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru