if语句中未定义的TI Inspire CX变量

问题描述 投票:0回答:1

我正在尝试在我的TI-Nspire CX中基于this c++ version编写模块化逆函数。

到目前为止,我有以下代码:

Define LibPub modinv(a,b)=
Func
 Local b0,t,q,x0,x1
 0→x0
 1→x1
 If b=1 Then
   Return 1
 EndIf
 While a>1
 q:=((a)/(b))
 t:=b
 b:=mod(a,b)
 a:=t
 t:=x0
 x0:=x1-q*x0
 x1:=t
 EndWhile
 If x1<0 Then
   x1:=x1+b0
 EndIf
 Return x1
 EndFunc

当我运行程序时

invmod(26,3)

我收到此错误:

错误:未定义变量

当我“查看”错误时,由于光标直接移至该行,因此该行显示为有问题(我认为)。

enter image description here

ti-basic ti-nspire
1个回答
0
投票

您没有定义b0,它具有符号值。由于它是局部变量,因此您不能离开范围,即返回其中包含符号b0的x1。

© www.soinside.com 2019 - 2024. All rights reserved.