我可以这样做吗?我一直在寻找答案,但是找不到。我要做的是:
if(a==5)
{
printf("25");
}
if((if(a==5))==TRUE)
{
printf("\n30");
}
这在C中是允许的吗?
此
if(a==5)
{
printf("25");
}
if((if(a==5))==TRUE)
{
printf("\n30");
}
可以用相同的逻辑重写这种方式
int condition;
if( ( condition = a == 5 ) )
{
printf("25");
}
if( condition )
{
printf("\n30");
}
我可以在C中的另一个if语句中使用if语句作为条件吗?
您可以这样做,在语法上是正确的,但是它是多余的,因为您可以使用逻辑运算符在一个if
语句的条件测试中证明多个表达式:
int a = 5;
int b = 10;
if(a == 5 && a == 10) // If a is 5 AND b is 10. - true
{
/* some code */
}
或
int a = 6;
int b = 10;
if(a == 5 || a == 10) // If a is 5 OR b is 10. - true
{
/* some code */
}
给出您的例子:
if(a==5)
{
printf("25");
}
if((if(a==5))==TRUE)
{
printf("\n30");
}
在外部if
语句的条件内的内部if
语句是多余的,因为if
语句自行证明条件是否为真。
因此,if((if(a==5)) == TRUE)
,if((a==5) == TRUE)
和if(a==5)
都相等。
实际上,该示例中的两个后续if
测试之间没有区别。此示例中的代码等效于:
if(a==5)
{
printf("25");
printf("\n30");
}