【发布时间】:2018-04-30 11:08:18
【问题描述】:
谁能解释一下嵌套If-Else语句的工作原理没有花括号。
我想了解为什么“下面的程序”没有给我任何输出。
我已经检查了所有 4 种可能性。
(外部-如果,内部-如果)::(真,真),(真,假),(假,真),(假,假)。
我正在使用 CodeBlocks 进行编辑,在 Windows 上使用 gcc 编译器。
int main()
{
int n=0,m=0;
if ( n > 0 )
if ( m > 0 )
printf("Inner-If Condition satisfied.");
else
printf("Inner-If condition not satisfied. ");
return 0;
}
谢谢。
【问题讨论】:
-
没有大括号,不知道
if属于哪个else。 c 编译器不考虑缩进。 -
n = 0是一个assignment,并且总是计算false。因此,使用 exactly 这段代码,您将永远不会看到 any 输出。 -
您正在为
n分配m的值0,在if语句中等于false。 -
在这种情况下,您可能应该使用大括号,因为您的代码的读者可能不清楚其意图是什么。
-
@WeatherVane 属于内层
标签: c if-statement conditional