下面这个程序这个如何运行?希望高人能解释下

来源:百度知道 编辑:UC知道 时间:2024/06/16 05:22:07
x=0
For j = 0 To 3
If Not (j Mod 2) Then x = x + 1 '主要这句看不懂如何运行的
Print x
Next j

输出 1 2 3 4

j =0 1 2 3
j mod 2 =0 1 0 1

注意这里 j mod 2 是一个整型值,而不是布尔值
那么整型值前面加Not,并不是取非运算,而是按位取反运算

not 1 = -2
not 0 = -1

但if 后面是一个布尔表达式
当整型转换成布尔时,除了0为false之外其他都为true
所以执行了4次x=x+1
那么就输出1 2 3 4

楼主 这不是C语言吧

确实看不懂,我估计是要统计奇数(或偶数)的个数,那么正确的代码应该如下:

Private Sub Form_Load()
x = 0
For j = 0 To 4
If j Mod 2 = 0 Then x = x + 1 '主要这句看不懂如何运行的
Next j
Print "一共有偶数" & x & "个"
End Sub

这个程序,j从0到3,那个判断条件都成立,所以循环4次,输出1,2,3,4.
理由是:j mod 2=1或0,not 1=-2,not 0=-1(这是运算法则),都不为0,在条件表达式中,不为0的数都代表True,所以每一次循环,条件表达式都成立。