Мини-чат

Запрещается мат, реклама в любом её виде, оскорбления. За любое нарушение будет бан или наказание как в чате, так и на форуме.
Загрузка...
Очистить поле ввода
Запрещается мат, флуд, реклама в любом её виде, оскорбления. За любое нарушение будет бан как в чате, так и на форуме.
Основная справка
Чат MGC Chatbox Evo очень легок в использовании
Вы можете:
  1. Отправлять сообщения: введите текст в поле ввода и нажмите Enter, или кнопку OK в чате.
  2. Форматировать сообщения: открыв панель форматирования нажатием кнопки BBCode, вы получаете доступ к различным настройкам форматирования текста ваших сообщений.*
  3. Общаться в разных комнатах: в зависимости от настроек группы пользователей, в которой вы состоите, либо настроек чата вы можете оставлять сообщения в разных комнатах. Выбор комнаты осуществляется нажатием соответствующей кнопки в левой части чата.*
  4. Редактировать свои сообщения (или сообщения других): редактирование осуществляется двойным нажатием на сообщение.*
  5. Использовать команды: команды позволяют пользоваться новыми опциями форматирования, управления и т.д... Информация о доступных вам командах будет расположена ниже. Вы можете не вводить префикс команды (/название_команды) в связанной с ней комнате (исключение составляет основная комната).*
* в зависимости от настроек выбранных администрацией форума для вашей группы.
Показано с 1 по 6 из 6

Тема: Вопрос по c++

  1. #1
    Пользователь
    Регистрация
    29.12.2008
    Сообщений
    51
    Получено (+/-): 0/0

    По умолчанию Вопрос по c++

    Имеется программа:

    int func(int d)
    {
    if (d==5)
    cout << "Введено число 5\n";
    else
    return 666;
    }

    int main()
    {
    int chislo;
    cout << "Введите число: "; cin >> chislo;
    cout << func(chislo) << endl;
    }


    Запускаю:

    Введите число: 5
    Введено число 5
    666
    Нажмите Enter для завершения!


    Ну и собсна вопрос.. почему функция возвращает 666?
    По идее она должна возвратить только в случае Else.

    Заранее спасибо!
    С наступающим!

    0 Not allowed! Not allowed!

  2. # ADS
    ООО "Рекламная реклама"
    Регистрация
    Always
    Сообщений
    Many
     

  3. #2

    По умолчанию

    ахуенская прога

    0 Not allowed! Not allowed!
    Итить)

  4. #3

    По умолчанию

    я в си не шарю, но тут вроде ясно. Функция она полюбому должна что-то возвращать. Т.к. у тебя прописан только один "return" то она 666 возвратит в любом случае. короче используй процедуру

    0 Not allowed! Not allowed!

  5. #4
    Местный
    Регистрация
    17.12.2008
    Адрес
    г.Северодвинск
    Сообщений
    338
    Получено (+/-): 3/0

    По умолчанию

    Проверь отладчиком, чему равно d!!!, хоть и (int).

    Попробуй сравнить ((int) d == 5);

    0 Not allowed! Not allowed!

  6. #5
    Местный
    Регистрация
    17.12.2008
    Адрес
    г.Северодвинск
    Сообщений
    338
    Получено (+/-): 3/0

    По умолчанию

    Правильно функция выглядит так:

    int func(int d)
    {
    if (d==5)
    { cout << "Введено число 5\n";
    return d;
    }
    else
    return 666;

    return 0;
    }

    0 Not allowed! Not allowed!
    Последний раз редактировалось wolfik; 30.12.2008 в 12:35.

  7. #6
    Пользователь
    Регистрация
    29.12.2008
    Сообщений
    51
    Получено (+/-): 0/0

    По умолчанию

    Нет, правильную функцию я в состоянии написать, хотел спросить у вас ваше мнение по данному вопросу просто из за интереса.
    Функция впринципе не должна иметь доступ ко операторам под *else*.. тк условие не исполняется.
    Разобрался и понял что функция в данном случае возвращает мусор в виде *666* который по каким то причинам остался с прошлых запусков или еще почему - то.
    Моя функция слегка некорректна. ))

    0 Not allowed! Not allowed!

Похожие темы

  1. вопрос cs
    от WAR1OCK в разделе Обо всём
    Ответов: 1
    Последнее сообщение: 10.07.2009, 17:37
  2. Вопрос по БП
    от Gogi2k в разделе Hardware
    Ответов: 12
    Последнее сообщение: 23.12.2008, 15:51
  3. Вопрос
    от mike765 в разделе Архив
    Ответов: 5
    Последнее сообщение: 01.12.2008, 13:51
  4. вопрос
    от avg-22 в разделе Глюки, Баги (FAQ)
    Ответов: 1
    Последнее сообщение: 08.09.2008, 16:02
  5. Вопрос
    от Feniks в разделе Обо всём
    Ответов: 2
    Последнее сообщение: 20.03.2008, 13:11

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Внести пожертвование на развитие!