数组
for( i = 0; i < n; ++i )
if( nums[i] == 0 )
++m;
这里省略了for循环的花括号,因为其内部只有一条语句,if没加花括号也是同样的原理。但是以下代码就有问题了:
for( i = 0; i < numsSize; ++i )
{
if( nums[i] == 1 )
if( ++n > max )
max = n;
else
n = 0;
}
在这里,if( nums[i] == 1 )
没有加花括号,但由于else
与最近的if
对应,导致其对应的else
被内部嵌套的if( ++n > max )
所占有,最终导致程序运行结果不正确。LeetCode做题笔记(3)——if嵌套if时不加花括号{}导致的bug
原文:https://www.cnblogs.com/uestcliming666/p/12739858.html