2010-02-22 2 views

답변

2

괄호를 사용 - 우선 순위 레벨은 혼란 :

if ((ip1 & subnet) == (ip2 & subnet)) 
    ... 

가 원래의 코드로 효과적으로 동일 :

if (ip1 & (subnet == ip2) & subnet) 
    ... 
+0

좋은 컴파일러가 이에 대해 경고해야합니다. '-Wall'로 호출하면 GCC가 작동합니다. –

+0

죄송합니다. 어떻게 내가 그것을 놓칠 수 있습니다 .. :( – Ashish

1

당신은 그것을했던 것처럼 :

if ((ip1 & subnet) == (ip2 & subnet)) 
    printf("same subnet 0%x", subnet); 

(방금 계산을 올바른 순서로 수행하도록()가 추가되었습니다).

관련 문제