是否可以将所有if语句转换为等效的switch语句?

时间:2017-04-02 05:04:08

标签: c if-statement switch-statement

我认为所有if语句都是这样的

if(condition){statements;}

可以转换为像这样的开关语句

switch(!(same condition as in if)){case 0:statements;}

我是否正确或是否存在一些无法转换的异常?

1 个答案:

答案 0 :(得分:0)

if()语句中的任何条件都评估为 0 1 (实际上是0以外的任何值)。
因此,将其写入开关()语句相当于编写switch(a),其中 a 可以是 1 0

所以,你是绝对正确的!