如果,switch-case-break语句的“case”中的else-if和else语句?

时间:2011-10-12 00:44:03

标签: c case break if-statement

我知道编写case break语句的语法,但我想知道是否允许这样做:

CODE:

    case 'p':
    {
    printf("Give number: ");
    scanf("%d, &int_1);
    if int_1=5;{
    printf("Played: you win");
    }
    break;
    }

基本上我只是想知道这是否可以做,我知道代码是不完整的但我不希望任何人认为我试图引出具体的答案。我只是想更好地理解将条件应用到我的程序中。谢谢。

编辑:除了标签之外,我没有指定,以防万一不清楚,这是在C中。

2 个答案:

答案 0 :(得分:4)

是的,这是允许的。但您也忘记了(周围的)括号if

if int_1=5;{

应该是:

if (int_1 == 5){

因此,如果没有编译,这就是原因。

答案 1 :(得分:3)

简短的回答是肯定的,您可以在if / swtich语句中嵌套case(反之亦然)。如果你想要足够严重,你可以有一个包含switch的循环,其中包含几个if等。

结论:嵌套各种语句的限制通常是由品味和可读性等因素决定的,而不是语言中的限制。