类型: 质量问题

    代码没有显式地分隔一个块,该块的目的是包含两个或多个语句,从而产生一个逻辑错误。
    例1:下面代码片段中,程序员错误的认为x=1;y=1会在当x==0的时候赋值(缩进代表了其意图)。而y=1在x无论何值都会执行。

    1. if(x == 0)
    2. x = 1;
    3. y = 1;

    例2:下面代码片段中,程序员错误的认为x=1和y=1会在当x==0的时候赋值(同行代表了其意图)。而y=1在x无论何值都会执行。

    1. if(x == 0)x = 1;y = 1;

    例3:下面代码片段中,程序员错误的认为x=1和y=1会在当x==0的时候赋值。而x=1和y=1在x无论何值都会执行。

    1. if(x == 0);{
    2. x = 1;
    3. y = 1;
    4. }