天天看點

【筆記】邏輯運算符||與&&的一點知識

先看一道題,代碼如下:

int i = 0;
int j = 0;

if((++i > 0) || (++j > 0))
{
	printf("%d,%d\n",i,j);
}
           

結果為i = 1; j = 0。

跟預想的不太一樣,然後根據書本作者的解釋才明白:

邏輯運算符隻要有一個結果為真,那麼結果就為真。而if((++i > 0) || (++j > 0))語句中,(++i > 0)結果為真,那麼後面的(++j > 0)便不再計算。

同樣&&運算符也一樣。