#1 2017-07-10 14:45:35

goodspeedmen
Учасник
З https://discord.gg/6hbs98y
Зареєстрований: 2016-10-02
Повідомлень: 81

goto

Есть ли какие то ограничения этой команды?

Остання редакція goodspeedmen (2017-07-10 14:50:38)

Неактивний

#2 2017-07-11 17:05:53

goodspeedmen
Учасник
З https://discord.gg/6hbs98y
Зареєстрований: 2016-10-02
Повідомлень: 81

Re: goto

void loop()
{

if()
 {
  if(){}
    if(){goto there_A;}
      if(){}
        if(){}
 }
there_A:
}

Так выдаёт ошибку, когда я перенес метку в начало программы всё компилировалось hmm


void loop()
{
there_A:

if()
 {
  if(){}
    if(){goto there_A;}
      if(){}
        if(){}
 }
//there_A:
}

Остання редакція goodspeedmen (2017-07-12 13:49:13)

Неактивний

#3 2017-07-11 23:39:13

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: goto

Потому что синтаксисом предусмотрено.
http://arduino.ua/ru/prog/Goto
Вынесите за пределы операторов  smile .

Остання редакція Nefreemen (2017-07-11 23:45:53)

Неактивний

#4 2017-07-12 08:59:43

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: goto

Мне кажется что приведенный фрагмент кода, демонстрационный. Но если посмотреть с другой стороны то все if с табуляцией (то есть вложенные), поэтому пусть ТС разберется еще со скобками, все ли операторы закрыты. О точке с запятой в конце операторов не понял. Я ни когда после фигурной скобки ее не ставлю. Хотя  придерживаюсь правила что даже если в операторе есть одна команда, я ее беру в ф. скобки, но встречаю что очень многие этого не делают smile .
Пишу обычно типа:
if (a<b){
   a=b+c;
}
Многие пишут:
if (a<b) a=b+c;
А вообще то зачем в процедурном языке применять метки? Так ли они нужны?

Неактивний

#5 2017-07-12 13:48:31

goodspeedmen
Учасник
З https://discord.gg/6hbs98y
Зареєстрований: 2016-10-02
Повідомлень: 81

Re: goto

Nefreemen пише:

Мне кажется что приведенный фрагмент кода, демонстрационный. Но если посмотреть с другой стороны то все if с табуляцией (то есть вложенные), поэтому пусть ТС разберется еще со скобками, все ли операторы закрыты. О точке с запятой в конце операторов не понял. Я ни когда после фигурной скобки ее не ставлю. Хотя  придерживаюсь правила что даже если в операторе есть одна команда, я ее беру в ф. скобки, но встречаю что очень многие этого не делают smile .
Пишу обычно типа:
if (a<b){
   a=b+c;
}
Многие пишут:
if (a<b) a=b+c;
А вообще то зачем в процедурном языке применять метки? Так ли они нужны?


Да я не указал что первый if является основным всё остальные вложенными, как мне кажется если произошло действие которое должно то зачем проверять остальные условия?

Неактивний

#6 2017-07-12 13:53:51

goodspeedmen
Учасник
З https://discord.gg/6hbs98y
Зареєстрований: 2016-10-02
Повідомлень: 81

Re: goto

Nefreemen пише:

Потому что синтаксисом предусмотрено.
http://arduino.ua/ru/prog/Goto
Вынесите за пределы операторов  smile .


читал я эту страницу и там нет ни какой ";" в конце перехода, но компилятор просил:  expect " } " что-то трали вали...  sad

Неактивний

#7 2017-07-12 22:59:46

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: goto

goodspeedmen пише:
Nefreemen пише:

Потому что синтаксисом предусмотрено.
http://arduino.ua/ru/prog/Goto
Вынесите за пределы операторов  smile .


читал я эту страницу и там нет ни какой ";" в конце перехода, но компилятор просил:  expect " } " что-то трали вали...  sad

Капец lol . Привели мой пост, а пишите о "; ", извините, я что упоминал о ней? Я написал "...Вынесите за пределы операторов ", если Вы не поняли что это значит, тогда ссоры. Позже написал о не закрытом операторе. Да собственно компилятор Вам о ошибке сообщил что он ожидает закрытие скобки. И вот действительно Вы вынесли в обсуждение "трали вали"

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму