Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.08.2015, 15:43   #1
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию Не работает ?

Всем доброго дня!

Подскажите пожалуйста почему не работает такая конструкция

Код:
n < 5 ? return a[n] : return a[4];
???

Код:
const int & saba(const int *a,int n)

{n < 5 ? return a[n] : return a[4];}
RAFA91 вне форума Ответить с цитированием
Старый 09.08.2015, 15:58   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

return a[n < 5 ? n : 4];
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 09.08.2015, 15:59   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
RAFA91
Странная конструкция...
Я бы написал
Код:
return (n<5)?a[n]:a[4]
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.08.2015, 16:06   #4
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

Благодарю Вас за помощь.

Оба варианта работают.

Не вкурил только почему с моим такой геморой

главное так работает )))

Код:
(n < 5) ? printf("\n))))))\n") : printf("\n((((((((\n");
RAFA91 вне форума Ответить с цитированием
Старый 09.08.2015, 19:34   #5
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

? : - это выражение, точно такое же как + - * или /.
вам же не приходит в голову писать
a * return x;
waleri вне форума Ответить с цитированием
Старый 09.08.2015, 20:29   #6
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Всё просто. Необходимо понимать и различать statement, expression, operator, а не лепить всё в одну кучу "операторы".
Croessmah вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает анимация. Механизм работает лишь при изменения числа в едит1. Студент ММИ Помощь студентам 1 18.05.2015 07:39
Sendmail работает, функция mail() работает, но есть проблема. PavelNAndreev PHP 8 27.01.2014 12:45
не работает relese версия проги и debug работает тока на моем компе D][mon C# (си шарп) 2 04.05.2012 20:21
Программа работает пошагово, но не работает при запуске -Katerina- Microsoft Office Excel 3 12.07.2011 03:40
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? >>STINGER<< Помощь студентам 4 08.03.2011 09:56