C语境中超过2种可能性的语法?

时间:2014-09-25 05:30:44

标签: c

假设我有2种可能性的条件:a< = 10和a> 10.如果< = 10,我可以使用if ... else语句来printf()输出1;如果是>我可以使用输出2 10。

但是,如果我有3种可能性的条件(如< = 10,10< =&= 20,并且&a> 20),如果a&lt,如何将程序写入printf()输出1 ; = 10,输出2,如果10< a< = 20,或者如果>则输出3。 20?

2 个答案:

答案 0 :(得分:4)

你只是嵌套它们,例如:

if ( a < 10) {
    printf("1\n");
} else {
    if (a < 20) {
        printf("2\n");
    } else {
        printf("3\n");
    }
}

或者,如果if语句是 only 嵌套的东西,你可以摆脱不少大括号:

if ( a < 10)
    printf("1\n");
else if (a < 20)
    printf("2\n");
else
    printf("3\n");

答案 1 :(得分:1)

您仍然可以使用if...else语句。最明显的解决方案是在if子句中嵌套另一个else。您可以通过嵌套if...else来添加第四个条件。

这是很常见的,大多数语言提供else if选项,以避免在有许多可能的条件时进行深度嵌套。