2 回答

TA貢獻(xiàn)1803條經(jīng)驗 獲得超3個贊
是的,是的4,讓我們格式化代碼(右縮進(jìn))并查看:
int i = 0; // i == 0
if (i == 0) // i == 0
i++; // i == 1
i++; // i == 2
if (i == 3) // i == 2
i += 2; // doesn't enter (since i != 3)
i += 2; // i == 4

TA貢獻(xiàn)1874條經(jīng)驗 獲得超12個贊
您需要使用大括號 { } 來表示超出單行條件的任何內(nèi)容,或者僅在條件為 true 時執(zhí)行后的第一行代碼。
/*
for example would be?
if (i == 0)?
{
? ? i++;?
? ? i++;?
}
*/
int i = 0;
//this is true
if (i == 0)
? ? i++; // so only this line gets executed i = 1
? ? i++; // this will get executed no matter what. i = 2
//at this point i = 2 so the conditional is false
if (i == 3)
? ? i += 2; // this line doesn't get executed
? ? i += 2; /* this is not in curly brackets { } so it will get executed no matter what the conditional returns as .. so i = 4*/
//i = 4
Console.WriteLine(i);
//and that's what prints
- 2 回答
- 0 關(guān)注
- 126 瀏覽
添加回答
舉報