瑞星卡卡安全论坛

首页 » 技术交流区 » 系统软件 » 【求助】哪位高手帮一下忙啊
想你一亿年 - 2006-8-5 17:38:00
小弟刚学VB 自学的 遇到一个问题 想向大家请教一下

Private Sub Form_Click()
Dim x%,y%,z%
x="1":y="3"
z=x<y
print x;y;z
end sub

请问各位这段VB代码 运行后为什么结果为什么是"1 3 -1" 请问这-1怎么来的啊?
闪电风暴 - 2006-8-5 19:26:00
整型数据无法用字符串赋值
闪电风暴 - 2006-8-5 19:30:00
这样比较好:
private sub form_load()
dim x as integer,y as integer,z as integer '我比较习惯这样......
x=1
y=3
z=(x>y)
print x;y;z
end sub
想你一亿年 - 2006-8-6 9:54:00
谢谢,楼上的高手,还有个问题,请帮忙一下,谢谢!

X=5
For I=1 to 20 Step 2
x=x+I\5
Next I

请问一下这段程序执行后的 X值为什么等于21?
可以讲的详细点吗?谢谢了!
简单就是美 - 2006-8-8 12:19:00
逻辑表达式x<y的结果为boolean型,bool中的True=-1,False=0。
而x确实小于y,所以把True(-1)赋给z,print时自然就会显示出-1。
简单就是美 - 2006-8-8 12:23:00
引用:
【想你一亿年的贴子】谢谢,楼上的高手,还有个问题,请帮忙一下,谢谢!

X=5
For I=1 to 20 Step 2
x=x+I\5
Next I

请问一下这段程序执行后的 X值为什么等于21?
可以讲的详细点吗?谢谢了!
………………

你的for语句中步长为2,即每循环一次I增加1
所以一次次循环下来,I依次等于1,3,5,7...17,19,21
当I=21>20时,循环就结束了。
由于步长的原因,I不可能经过20而直接达到21。就这么简单。
楼主如果把step 2改为step 1或干脆去掉,运行结束后I就会等于20了。
一条小小虫 - 2006-8-22 19:42:00
引用:
【闪电风暴的贴子】这样比较好:
private sub form_load()
dim x as integer,y as integer,z as integer ''
x=1
y=3
z=(x>y)
print x;y;z
end sub


把这个改成:
private sub form_load()
dim x as integer,y as integer,z as integer ''
x=1
y=3
(z=x)>y
print x;y;z
end sub
可以吗?
1
查看完整版本: 【求助】哪位高手帮一下忙啊