早教吧作业答案频道 -->数学-->
VB中Dimx%,y%,z%x=y=z=1'语法没错,但结果都为0能讲讲原理吗
题目详情
VB中Dim x%,y%,z% x=y=z=1 ' 语法没错,但结果都为 0 能讲讲原理吗
▼优质解答
答案和解析
因为变量x,y,z被使用%后缀声明为整型,所以,它们的值一定是一个数值,并且初始值都是0
x=y=z=1
相当于
x=((y=z)=1)
而括号中的是一个逻辑表达式而非赋值语句,其执行顺序应为
x=((0=0)=1)
x=(True=1)
x=(-1=1) 'True对应的数值值为-1
x=False '由于x为整形变量,所以不能直接将False负值给x,会发生隐式类型转换
x=0 'False对应的数值值为0
变量y和变量z一直没有赋过值,所以保持初始值0
所以,语句执行后三个变量的值都是0,且不会发生语法错误.
如果还有问题欢迎追问,问题解决请及时选为满意回答,
x=y=z=1
相当于
x=((y=z)=1)
而括号中的是一个逻辑表达式而非赋值语句,其执行顺序应为
x=((0=0)=1)
x=(True=1)
x=(-1=1) 'True对应的数值值为-1
x=False '由于x为整形变量,所以不能直接将False负值给x,会发生隐式类型转换
x=0 'False对应的数值值为0
变量y和变量z一直没有赋过值,所以保持初始值0
所以,语句执行后三个变量的值都是0,且不会发生语法错误.
如果还有问题欢迎追问,问题解决请及时选为满意回答,
看了VB中Dimx%,y%,z%x...的网友还看了以下:
已知三条直线L1:mx-y+m=0,L2:x-my-m(m+1)=0,L3:(m+1)x-y+(m 2020-04-27 …
直线系方程求过两直线x-2y+4=0,x+y-2=0的交点,且经过(2,-1)的方程;答案是设x- 2020-06-03 …
函数f(x)=ax2+bx+c(a≠0),对任意实数a,b,c,m,n,p,关于x的方程m[f(x 2020-06-03 …
1.已知X不等于0,M=(X的平方+2x+1)(x的平方-2x+1),N=(x的平方+x+1)(x 2020-06-08 …
分式方程(x/x-1)-1=m/(x-1)(x+2)有增根,则m的值为多少?为什么不能是0?将分式 2020-07-31 …
请教一个函数集合的题目已知全集U=R,A={x|x2+3x+2=0},B={x|x2+(m+1)x 2020-08-01 …
惫设f(x)=-m(m+e)x2,g(x)=x2+(m-1)x-m,其中e均自然对数的底数,若∃x 2020-08-02 …
MATLAB非线性方程组问题.M文件有了,问题是工作区的代码怎么写啊,最好能输出到EXCEL中.fu 2020-11-01 …
函数f(x)=根号下(mx^2+mx+1)的定义域为一切实数,则实数m的取值范围是()A.(0,4) 2020-12-08 …
已知函数f(x)的定义域R,对任意实数m,n都有f(m+n)=f(m)×f(n),且当x>0时.0< 2020-12-08 …