我的团队正在为RobotC编写代码,这是一种具有类似C语法的语言。它主要用作机器人编程的入门。它有基本的C东西:if语句,for和while循环,函数,它甚至有结构,数组和指针,但它们不经常使用。它的主要区别在于它具有多线程,具有多线程,不可用,并且您一次只能编译一个文件。
我们想让电机动起来。要做到这一点,你通常会写。
motor[motorA] = 50;
motor
是RobotC提供的一个数组,其中包含将设置电机的所有值。 motorA
是电线端口的枚举
50是功率水平。
我的队友不小心(或者故意)写了这个
motor(motorA) = 50;
我正准备纠正他,当出乎意料的是,它编译并运行良好!
我知道Java和一些正常的C,这对我来说没有意义。你不能设置函数返回的值......可以吗?
有人可以解释为什么会有效吗?
答案 0 :(得分:2)
如果您查看RobotCIntrinsics.c(当您打开代码文件时,只需右键单击其中一个motor []命令并从上下文菜单中选择"转到定义/声明"以查看它),你会发现电机命令被定义为"属性。"现在,我无法确切地说明这意味着什么,但根据我的经验,这意味着您可以使用[]或()来访问其中的值。它不是一个数组,它不是一个函数调用。它完全不同于显然允许使用两种语法。