对于这种情况,这是最优雅/安全/推荐的解决方案吗?

CCB*_*Bet -6 c c++ format

我希望得到第一个else指令if.像这样的东西:

if (vowels_counter >= consonants_counter)
    for (i = 0; ntca[i]; i++)
        for (j = 0; vowels[j]; j++)
            if (ntca[i] == vowels[j])
            {   ntca[i] += 1;
                break;
            }
else
    for (i = 0; ntca[i]; i++)...
Run Code Online (Sandbox Code Playgroud)

但是你看到它else是如何连接到第二个if:

if (vowels_counter >= consonants_counter)
        for (i = 0; ntca[i]; i++)
            for (j = 0; vowels[j]; j++)
                if (ntca[i] == vowels[j])
                {   ntca[i] += 1;
                    break;
                }

                else
                    for (i = 0; ntca[i]; i++)...
Run Code Online (Sandbox Code Playgroud)

我通过将嵌套iffor括号放在这样的情况下解决了这种情况:

   if (vowels_counter >= consonants_counter)
        for (i = 0; ntca[i]; i++)
            {for (j = 0; vowels[j]; j++)
                {if (ntca[i] == vowels[j])
                   {ntca[i] += 1;
                    break;
                   }
                }
            }

   else
        for (i = 0; ntca[i]; i++)...
Run Code Online (Sandbox Code Playgroud)

这是最优雅/安全/推荐的解决方案吗?谢谢!

Bar*_*rry 6

对于这种情况,是否有另一种解决方案而不使用括号?

这是一个错误的问题.真正的问题是:有没有理由不使用大括号?没有.只需使用大括号.您的同事和未来 - 您将在以后感谢您.