一个2级vb选择题

来源:百度知道 编辑:UC知道 时间:2024/05/19 15:28:42
对integer变量a,b,c分别赋值30,40,50,下面能执行的是:
A.print a*b*c
B.print a*b*c*1&
C.print 1&*a*b*c
D.print a*b*c*1!
答案选C
困惑:我选的是A,不明白怎么会选C。
感觉C本身的表达就有问题啊!&与 *怎么能连用呀?
高手,帮忙解释下各个选项

这里的&不是连接符,是定义数字为长整形,integer变量是整形变量,范围是(-32768到32767),30*40*50=60000,超出整形范围,因此首先定义为长整形,这样就不会溢出了。长整形的范围是(-2147483648到2147483647)
因此:C.print 1&*a*b*c 是正确的

四句本来全有问题。但他问题是:"能执行"的是:

Print a * b * c
Print a * b * c * 1&
Print a * b * c * 1!

ABD都有溢出。就是出错

下面这句就没有。意思当然就是能执行咯 ^_^!!
Print 1& * a * b * c

受教!谢谢!