C/C++编程笔记:if—else语句块,其中有个细节需要注意
编写一个同时执行两个if-else块语句的C / C ++程序。
C / C ++语言中的if-else语句的语法为:
如果(布尔表达式)
{
//语句仅执行
//如果布尔表达式为true
}
其他
{ //仅在以下情况下执行语句
//布尔表达式为false
}
因此,我们可以得出结论,if-else语句块中只有一个将根据布尔表达式的条件执行。
如果看文字有点迷糊可以看下面这张图片:
但是我们可以更改代码,以便在相同条件下同时执行if块和else块中的语句。
诀窍是使用goto语句,该语句在同一函数中提供从'goto'到带标签的语句的无条件跳转。
下面是同时执行两个语句的C / C ++程序:
例一:
#include <bits/stdc++.h>
using namespace std;
int main()
{
if(1){
label_1: cout <<"Hello ";
goto label_2;
}else
{
goto label_1;
label_2: cout <<"123";
}
return 0;
}
例二:
#include <stdio.h>
int main()
{
if(1){
label_1: printf("Hello ");
goto label_2;
}else
{
goto label_1;
label_2: printf("123");
}
return 0;
}
输出:hello 123
因此,if和else块的两个语句同时执行。另一个有趣的事实可以看出,输出将始终保持在相同的并不会取决于布尔条件是真还是假。
注–在任何编程语言中都强烈建议不要使用goto语句,因为它很难跟踪程序的控制流,从而使程序难以理解和修改。作为程序员,我们应该避免在C / C ++中使用goto语句。
希望对你有帮助~
另外如果你想更好的提升你的编程能力,学好C语言C++编程!弯道超车,快人一步!笔者这里或许可以帮到你~