C else如何解释它后面的if语句?
我有一段C语言的代码,我想了解程序中的第一个其他代码如何解释后面的if。通常在if-else连接中,当if中的条件为false时,当else没有大括号时,程序在else之后执行语句。下面,else后面没有大括号,所以我的问题是:else是否解释为“if(preference>=5){ printf(“Buya”);printf(“也许事情会很快变得更好!\n”);}” 作为单个语句,类似于“else printf”(“这是上述else的替换语句”);“构造 或者if-else if连接还有另一个逻辑?比如,else只激活“if(preference>=5)”,如果该条件为true,则执行大括号中的内容 下面是C语言中的完整代码。先谢谢你C else如何解释它后面的if语句?,c,if-statement,C,If Statement,我有一段C语言的代码,我想了解程序中的第一个其他代码如何解释后面的if。通常在if-else连接中,当if中的条件为false时,当else没有大括号时,程序在else之后执行语句。下面,else后面没有大括号,所以我的问题是:else是否解释为“if(preference>=5){ printf(“Buya”);printf(“也许事情会很快变得更好!\n”);}” 作为单个语句,类似于“else printf”(“这是上述else的替换语句”);“构造 或者if-else if连接还有另一个
#include <stdio.h>
int main()
{
int prefer=2;
if (prefer >= 8)
{
printf("Great for you!\n");
printf("Things are going well for you!\n");
}
else if(prefer>=5)
{
printf("Buya");
printf("Maybe things will get even better soon!\n");
}
else if(prefer>=3)
{
printf("Bogus");
printf("Maybe things will get worst soon!\n");
}
else
{
printf("Hang in there--things have to improve, right?\n");
printf("Always darkest before the dawn.\n");
}
return 0;
}
#包括
int main()
{
int=2;
如果(首选>=8)
{
printf(“太好了!\n”);
printf(“你一切顺利!\n”);
}
否则,如果(首选>=5)
{
printf(“买方”);
printf(“也许事情很快会变得更好!\n”);
}
否则,如果(首选>=3)
{
printf(“伪造”);
printf(“也许事情很快就会变得更糟!\n”);
}
其他的
{
printf(“坚持下去——事情必须改进,对吗?\n”);
printf(“黎明前总是最暗的。\n”);
}
返回0;
}
这里有一个更具括号的版本可以解释这一点:
if(prefer >= 8)
{
...
}
else
{
if(prefer >= 5)
{
...
}
else
{
if(prefer >= 3)
{
...
}
else
{
...
}
}
}
else if(条件).
没有什么特别之处。它相当于else{if(condition)…}
它的逻辑类似于为不带大括号的循环嵌套多个。在第一个else
之后,下一个if
代码块再向下9行结束。因此,整个事件被隐式处理,就好像它本身包含{
大括号}
如果(首选>=2){…}否则{…}
被认为是一个单独的语句,所以不需要用大括号包装。@interjay,如果在最后一个else之后,它会被编写成另一个if(条件){…}呢?它仍然会被视为一个单独的声明吗?这样:if(preference>=2){…}else if(condition){…}if
启动另一个不相关的序列。如果你有else if
,它将被链接,你可以很容易地验证它。@Weather Vane,你说的“如果你有else if,它将被链接”是什么意思?我已经修改了我的原始代码,所以我将有一个if-else if-else if链?在这个公式中,链的概念实际上是如何工作的?提前谢谢。