执行下列print语句,会出现错误提示的是那几个 A print 256*256 B print 256=127*2

来源:百度知道 编辑:UC知道 时间:2024/09/20 06:53:50
A print 256*256
B print 256=127*2

B为什么会执行 A为什么不会执行
请回答下 谢谢
A print 256*256
为什么 溢出阿 不懂额 谁来详细解释阿

Print 256 * CLng(256)

这样就不会出错,B句是判断句,只输出判断结果。

==============================
问: 谁能告诉我一下代码为何产生溢出错误?我已经把结果正确地声明为Long了.
Dim x as Long x=33*1000 '产生溢出错误
...然而当我直接赋值x=330000时,就正常运行没有错误.
答:在计算赋给X的值时,VB会使用一个临时变量.在此过程中,它使用的是一个与表达式中数据类型相同的临时变量.在上面的例子中,由于相乘的两个数都为整型(Integer),VB将使用一个整型的临时变量.当乘积超过32K(整型的极限)时,就会产生溢出错误.修正的方法是给表达式中的某个值指定一个类型标识符,强制VB使用一个足以容纳计算结果的临时变量.如:
x=33*1000&
尽管1000不是Long型数,但VB将使用一个Long型临时变量来保存结果.然而,还要注意这段代码:
x=33*1000*100&
由于VB试图将表达式前一部分的积赋给一整型临时变量,将仍然会发生溢出错误,尽管在表达式中已经声明了一个Long型数.修正的方法是把最大的数声明为Long 或者是把VB将计算为Long型的数用括号括起来:
x=33*1000&*100
x=33*(1000*100&)
================================
详情见http://hi.baidu.com/cfans/blog/item/32417b899fba15bb0e24441b.html

第一个 print 溢出了
第二个是判断语句 127 * 2 = 254 不等于 256 所以打印FALSE

第一个 print 溢出了
第二个 因为是等号,所以是判断语句