2011-10-12 152 views
1

我知道写的情况下break语句的语法,但如果这是允许我在想:如果else-if和else语句在一个“case”内的switch-case-break语句?

CODE:

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

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

编辑:除了在标签,我没有指定所以以防万一,这是不明确的,这是C.

回答

3

简短回答是肯定的,你可以在swtich/case声明(或反之亦然)中嵌套if。如果您想不好的话,你可以有一个包含switch包含几个if个循环等

底线:在嵌套各种报表的限制通常是由这样的考虑征收口味和可读性,而不是限制内置于语言中。

4

是的,它是允许的。但你也忘了(括号)if各地:

if int_1=5;{ 

应该是:

if (int_1 == 5){ 

所以,如果它没有被编译,就是这个道理。

+0

它正在编译,即使使用-gcc -Wall -Werror -ansi -pedantic-errors。它应该没有? –

+0

我从来没有见过没有括号的if语句。如果它为你编译的话(它不适合我),那么也许这是他们最终拿出来的旧版ansi。 – Mysticial

+0

很高兴你明白我的意思,我在谈论警告的级别哈哈。谢谢。你在用什么编译器?好奇 –