59 / 52 / 11
Регистрация: 04.08.2015
Сообщений: 726
1

Отладчик пропускает else if

09.12.2016, 20:04. Показов 1495. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, есть значит такая связка if else

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
        if (error_ip == 'n') {
            int ip_int_connect_1 = string_to_int(ip_connect_1_func);
            int ip_int_connect_2 = string_to_int(ip_connect_2_func);
            int ip_int_connect_3 = string_to_int(ip_connect_3_func);
            int ip_int_connect_4 = string_to_int(ip_connect_4_func);
 
            if (ip_int_connect_1 > 255)
                ip_connect_1_func = "255";
            if (ip_int_connect_1 < 0)
                ip_connect_1_func = "0";
 
            if (ip_int_connect_2 > 255)
                ip_connect_2_func = "255";
            if (ip_int_connect_2 < 0)
                ip_connect_2_func = "0";
 
            if (ip_int_connect_3 > 255)
                ip_connect_3_func = "255";
            if (ip_int_connect_3 < 0)
                ip_connect_3_func = "0";
 
            if (ip_int_connect_4 > 255)
                ip_connect_4_func = "255";
            if (ip_int_connect_4 < 0)
                ip_connect_4_func = "0";
 
            New_ip_connect = New_ip_connect + ip_connect_1_func;
            New_ip_connect = New_ip_connect + ".";
            New_ip_connect = New_ip_connect + ip_connect_2_func;
            New_ip_connect = New_ip_connect + ".";
            New_ip_connect = New_ip_connect + ip_connect_3_func;
            New_ip_connect = New_ip_connect + ".";
            New_ip_connect = New_ip_connect + ip_connect_4_func;
 
            new_ip_connect(New_ip_connect);
        }
        else if (error_ip == 'y'){
            new_ip_connect("0.0.0.0");
        }
Отладчик пропускает последнее else if (error_ip == 'y') перепрыгивая сразу к действию внутри, к new_ip_connect("0.0.0.0"); перепрыгивая причем от new_ip_connect(New_ip_connect); то есть из предыдущего if. У которого условие абсолютно противоположное!

Уже пробовал пересобрать проект, добавил volatile к
C++
1
        volatile char error_ip = 'n';
все равно не проверяет.. как это лечить?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.12.2016, 20:04
Ответы с готовыми решениями:

Пропускает ввод данных в консоли. Не работает часть кода. Пропускает ввод фио
Добрый день! Помогите пожалуйста! В void add_dinamo() пропускает cout&lt;&lt;&quot;ФИО: \t&quot; ;...

Пропускает else.
Помогите исправить код. Алгоритм возведения в степень число. Если вводишь число больше 1, то...

Пропускает инструкцию gets();
#include &lt;iostream&gt; using namespace std; char Teleph; char Name; double Time,Salary,pay; void...

не пропускает интернет
есть станционарный комп под ХР с интернетом и ноут под вистой, соединены напрямую, видят друг друга...

3
nd2
3434 / 2813 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
09.12.2016, 20:13 2
Лучший ответ Сообщение было отмечено koker007 как решение

Решение

Цитата Сообщение от koker007 Посмотреть сообщение
Отладчик пропускает последнее else if (error_ip == 'y') перепрыгивая сразу к действию внутри, к new_ip_connect("0.0.0.0");
Что значит пропускает? Не останавливается на строке с else?
Добавлено через 3 минуты
Ты, случайно, не в Release отладку делаешь?
1
59 / 52 / 11
Регистрация: 04.08.2015
Сообщений: 726
09.12.2016, 20:34  [ТС] 3
Цитата Сообщение от nd2 Посмотреть сообщение
Ты, случайно, не в Release отладку делаешь?
Э... да именно там.. хм в дебаге и в правду таких нестандартных поведений не видно..
Почему такие глюки в релизе?
0
18328 / 9514 / 2326
Регистрация: 30.01.2014
Сообщений: 16,622
09.12.2016, 20:40 4
Цитата Сообщение от koker007 Посмотреть сообщение
Почему такие глюки в релизе?
Это не глюки, а результат оптимизации. В релизе компилятор в ходе оптимизации может выбрасывать конструкции, переставлять местами и т.п., лишь бы это не влияло на наблюдаемое поведение программы. Отладочную сборку же не забавы ради делают...
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2016, 20:40
Помогаю со студенческими работами здесь

БД не пропускает символ '
Привет, всем создал БД SQLite все хорошо было, пока пользователь не ввел Д’Артаньян, и выдало такую...

Пропускает строку
Имеется функция private void AddMessage(String _msg) { ...

Пропускает cin
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;stdio.h&gt; #include &lt;cstring&gt; #include &lt;fstream&gt;...

Не пропускает кириллицу
Здравствуйте!Есть строка такого вида: /доска объявлений/покупка+транспорта/ и выражение ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru