什么是空操作员?

use*_*910 2 java netbeans

什么"空操作员"警告(翻译自俄语)在netbeans中意味着什么?

for(int v = 1; v <= n; v++) {
            int parent = in.nextInt();
            if(parent == 0);
                root = v;
        }
Run Code Online (Sandbox Code Playgroud)

gdr*_*drt 6

您有一个不必要且危险的分号(;),它会在警告弹出的行中更改您的程序流.

分号是一个空语句,因此root = v无论是否都将执行parent == 0.

  • 分号不是没用的,它是非常危险的......因为它实际上改变了程序的行为.这种事情是始终建议在if语句的各个部分周围使用{}的一个原因. (6认同)