在编译语言中i = i + 1?

时间:2015-09-13 21:01:13

标签: ti-basic compiled interpreted-language

我正在TI-BASIC中为TI-nspire计算器编写程序,TI-BASIC是BASIC的优化版本。据我所知,TI-BASIC是一种编译语言。我有更多使用脚本语言的经验,你可以将i定义为i + 1,其中解释器将i的前一个值添加到1并使其成为i的新值。但是,由于BASIC,根据我的理解,编译后,计算器会将i的值设置为i + 1的等式并循环。有没有办法将i的值设置为结果而不是等式?

2 个答案:

答案 0 :(得分:2)

你错了,在为同一个变量赋值时引用变量是完全没问题的,它不会导致循环。但是,在TI-Basic中,您不使用=运算符为变量赋值。

对于z80和68k计算器,请使用这样的字符:

Local x

2→x
x+1→x

Return x

返回3。 (在TI-89上测试过。)

在TI-nspire上使用:=,如下所示:

Local x

x:=2
x:=x+1

Return x

这也会返回3

答案 1 :(得分:0)

你的理解是错误的。编译不会更改赋值的语义。它仍然是一项任务。

然后,编译器使用什么数字作为i = i + 1的解决方案?