Ошибки, баги, вопросы - страница 3322

 
Alexey Viktorov #:

Похоже что вы разговариваете сам с собой

Я об этом выше писал, но нашлись участники форума, которые увидели в этом оскорбление вас.
🤷🏻‍♂️
 
Sergey Gridnev #:
Я об этом выше писал, но нашлись участники форума, которые увидели в этом оскорбление вас.
🤷🏻‍♂️

Главное, что я не увидел. Сам такой-же эмоциональный бываю.

У меня знаний не хватает чтобы возражать против 

Но меня очень мучают сомнения «У Шпака магнитофон, у посла медальон…» 

Но вот незадача, так тоже компилируется без проблем.

#define While(X)        for(;(X);)

void OnStart()
 {
    do
      While(0);   //нормально
    while(0);
}

А тут где кривые скобки? Во что разворачивается этот код?

 
Sergey Gridnev #:
Я об этом выше писал, но нашлись участники форума, которые увидели в этом оскорбление вас.
🤷🏻‍♂️

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

Sergey Gridnev, 2023.05.22 22:11

Там не было while(0). Там while обращался к функции, которая возвращала 0.
P.S. Такое чувство, будто с деревом общаюсь. 🤷🏻‍♂️

Про дерево
 
Alexey Viktorov #:

Главное, что я не увидел. Сам такой-же эмоциональный бываю.

У меня знаний не хватает чтобы возражать против 

Но меня очень мучают сомнения «У Шпака магнитофон, у посла медальон…» 

Но вот незадача, так тоже компилируется без проблем.

А тут где кривые скобки? Во что разворачивается этот код?

Там точка с запятой.

Можете убедиться на таком примере:
int i;
for(i=10;i>0;i--);
Print(i);

Если убрать ";" после скобки цикла for, то Print попадёт в тело цикла.

Просто, ";" тоже как пустой оператор выступает. Их можно друг за другом пачкой расположить: ";;;;;;;".
 
Sergey Gridnev #:
Там точка с запятой.

А кривые скобки и точка с запятой это равнозначные знаки?

 
Alexey Viktorov #:

А кривые скобки и точка с запятой это равнозначные знаки?

В конкретно этом случае - да
 
Sergey Gridnev #:
Там точка с запятой.

Можете убедиться на таком примере:
int i;
for(i=10;i>0;i--);
Print(i);

Если убрать ";" после скобки цикла for, то Print попадёт в тело цикла.

Всё, хорош…………

Ваше поведение уже надоело. Поучитесь признавать свои ошибки. Хотя-бы как это сделали другие, просто промолчали…

 
Alexey Viktorov #:

А кривые скобки и точка с запятой это равнозначные знаки?

Кривые скобки обрамляют блок операторов, а точка с запятой разделяет операторы.
 
Alexey Viktorov #:

Всё, хорош…………

Ваше поведение уже надоело. Поучитесь признавать свои ошибки. Хотя-бы как это сделали другие, просто промолчали…

Вы, просто, недопонимаете синтаксис ЯП.
🤷🏻‍♂️
 
Alexey Viktorov #:

Всё, хорош…………

Ваше поведение уже надоело. Поучитесь признавать свои ошибки. Хотя-бы как это сделали другие, просто промолчали…

Вот вам ещё примеры:

1)
do while(0);

2)
do ; while(0);

3)
do ;; while(0);

Корректным является только вариант 2. Но вариант 1 тоже компилируется, хотя он не содержит тела цикла.
Причина обращения: