有如下函数: Private Function fun(x As Integer,y As Integer) As Integer Dim k%.n% n=IIf(y<0,-y,y) For k=1 To n x=x-Sgn(y) Next fun=X E

admin2016-06-22  27

问题 有如下函数:
Private Function fun(x As Integer,y As Integer)
As Integer
Dim k%.n%
n=IIf(y<0,-y,y)
For k=1 To n
x=x-Sgn(y)
Next
fun=X
End Function
此函数的功能是(    )。

选项 A、返回y-x的值
B、返回x-y的值
C、如果y<0,返回x+y的值,否则,返回x-y的值
D、如果y<0,返回x-y的值,否则,返回x+y的值

答案B

解析 IIf函数的格式如下:
result=IIf(条件,True部分,False部分)
当条件为真时,返回True部分,否则返回False部分。本题中n=IIF(y<0,-y,y),表示不管y的值是正还是负,都会返回一个正y值,并将值赋给变量n。For循环中,Sgn(x)英文全称Signa1(x),即求变量x的符号。符号函数Sgn(x)返回自变量x的符号(x为正数,返回1;x为负数,返回-1;x为0,返回0)。For循环中的功能是,循环执行n次,每次执行一次语句x=x-sgn(y)。若y>0,则循环执行n次,每次x-1,循环结束相当于x-y;若y<0,则循环执行n次,每次x-(-1),循环结束也相当于x-y;故本题中fun函数的功能是返回x-y的结果。所以B选项正确。
转载请注明原文地址:https://kaotiyun.com/show/M0Lp777K
0

最新回复(0)