编写一个同时执行两个if-else块语句的C / C++程序。
Syntax of if-else statement in C/C++ language is:
if (Boolean expression)
{
// Statement will execute only
// if Boolean expression is true
}
else
{
// Statement will execute only if
// the Boolean expression is false
}
因此,我们可以得出结论,if-else语句块中只有一个将根据布尔表达式的条件执行。
但是我们可以更改代码,以便在相同条件下同时执行if块和else块中的语句。
诀窍是使用goto语句,该语句在同一函数提供从’goto’到带标签的语句的无条件跳转。
下面是同时执行两个语句的C / C++程序:
C++
#include
using namespace std;
int main()
{
if (1) // Replace 1 with 0 and see the magic
{
label_1: cout <<"Hello ";
// Jump to the else statement after
// executing the above statement
goto label_2;
}
else
{
// Jump to 'if block statement' if
// the Boolean condition becomes false
goto label_1;
label_2: cout <<"Geeks";
}
return 0;
}
// this code is contributed by shivanisinghss2110
C
#include
int main()
{
if (1) //Replace 1 with 0 and see the magic
{
label_1: printf("Hello ");
// Jump to the else statement after
// executing the above statement
goto label_2;
}
else
{
// Jump to 'if block statement' if
// the Boolean condition becomes false
goto label_1;
label_2: printf("Geeks");
}
return 0;
}
输出:
Hello Geeks
因此,if和else块的两个语句同时执行。可以看到另一个有趣的事实,即Output将始终保持不变,并且将不取决于布尔条件是true还是false。
注–在任何编程语言中都强烈建议不要使用goto语句,因为它会使跟踪程序的控制流变得困难,使程序难以理解和修改。作为程序员,我们应该避免在C / C++中使用goto语句。
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。