if语句可以用else关键字进行拓展:
在真假分支语法中,若if分支为假(条件表达式为0),则会进入else分支,执行else的语句块。
在多路分支语法中,可以有多个else if分支。
若之前所有分支都为假,则会检查else if分支是否为真,决定是否执行else if分支的语句块。
else分支会在其它分支全部为假的情况下执行。
示例:
#include <amxmodx>
public plugin_precache()
{
new var = 10;
if (var == random_num(1, 8))
{
server_print("[AMXX]显然1至8不包含var。");
}
else if (var == 9)
{
server_print("[AMXX]显然var不可能等于9。");
}
else if (var == random_num(9, 10))
{
server_print("[AMXX]因var等于10,随机数必须等于10才会进入此分支。");
}
else
{
server_print("[AMXX]若之前分支全部判断为假,进入此分支");
}
}
注意:
若条件表达式是常量表达式,会触发警告。
因为常量表达式的结果在编译时就已经确定,在运行时判断其为0或非0是没有意义的。
要么改为运行时表达式,要么将if-else语句改为#if-#else指令。