回 帖 发 新 帖 刷新版面

主题:菜鸟请教:ELSE 与 END IF 有什么区别?

[em18]ELSE 与 END IF 有什么区别?

INPUT t
IF t <= 40 THEN
m = 10 * t
s = 0
[color=FF0000]END IF[/color]
IF t > 40 THEN
m = (t - 40) * 15 * .97 + 400
s = (t - 40) * 15 * .03
END IF
PRINT t, m, s
END

把其中的END IF换成ELSE
不是也一样的吗
那么END IF和ELSE不是基本上没什么区别了吗?

回复列表 (共7个回复)

沙发

如果只有一个条件就不要用else
程序可改为:
INPUT t
IF t <= 40 THEN
  m = 10 * t
  s = 0
ELSE
  IF t > 40 THEN
    m = (t - 40) * 15 * .97 + 400
    s = (t - 40) * 15 * .03
  END IF
END IF
PRINT t, m, s
END

区别就在防止出现错误信息。IF 条件判断语句就等于防火墙

加分好吗?

板凳

end if表示前面的if语句到此结束
else表示不同于if的后面的条件执行else后面的语句
如:
IF t <= 40 THEN
m = 10 * t
s = 0
END IF
表示t<=40的时候执行
m=10*t
s=0
结束,如果t>40要想执行一些操作需要改成
IF t <= 40 THEN
m = 10 * t
s = 0
ELSE  '表示t>40的时候执行以下操作
 要执行的操作
END IF

3 楼


我明白了 是不是如果条件只有 2种情况 比如

INPUT A
IF A>=0 THEN B=1 ELSE B=2
PRINT B
END

用ELSE就可以了

但是如果条件有3种以上情况 比如>和<和= 那么必须用END IF 断开 再用IF
比如:

INPUT A
IF A>0 THEN B=1
END IF
IF A=0 THEN B=2
END IF
IF A<0 THEN B=3
END IF
PRINT B
END

这个就不能够用ELSE
不知道我理解到位了没?

4 楼

你的题可以ELSE 但不能用END IF .因为它不是块IF
不对!
1.END IF 要一起在最后写。
2. 只有在块IF时才用END IF,普通的IF不用!
块IF:
如:
IF <条件> THEN 
<语句组1>
ELSE
<语句组2>
END IF

5 楼

1楼简直就是多此一举,既然t<=40不符合,那么t不就大于40了吗?干吗还要个判断呢?

6 楼

if 条件 then 语句1:语句2:语句3


if 条件 then 
语句
end if


if 条件 then
语句1
else
语句2
end if

大体上就这三种吧.

7 楼

如果用ELSE,也就是说上面的IF语句一定不对,而END IF说明块IF语句已经结束,下面的IF语句不一定不符合上面的IF语句。
[em1]加分!!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册