Моя команда пишет код для RobotC, языка с C-подобным синтаксисом. Он в основном используется как введение в программирование в робототехнике. В нем есть базовые элементы C: операторы if, циклы for и while, функции и даже структуры, массивы и указатели, но они используются нечасто. Основное отличие состоит в том, что он интерпретируется, имеет многопоточность, не является бесплатным, и вы можете компилировать только один файл за раз.
Мы хотели сделать моторное движение. Для этого вы обычно пишете.
motor[motorA] = 50;
motor
— это массив, предоставленный RobotC, который содержит все значения, которые он установит для двигателей. motorA
— это перечисление для проводного порта.
50 — это уровень мощности.
Мой товарищ по команде случайно (или, может быть, намеренно) написал это вместо этого
motor(motorA) = 50;
Я уже собирался его поправить, как на удивление он скомпилировался и заработал нормально!
Я знаю Java и немного обычный C, и это просто не имеет для меня смысла. Вы не можете установить значение возврата функции... не так ли?
Может кто-нибудь объяснить, почему это работает?