判断两个IP是否属于同一子网(没有判断掩码或ip是否合法,测试通过牛客)
程序员文章站
2022-05-19 14:47:43
...
#include<bits/stdc++.h>
using namespace std;
void split(char s[],int a[])
{
char *p=strtok(s,".");
int num=0;
while(p!=NULL)
{
a[num++]=atoi(p);
p=strtok(NULL,".");
}
}
int main()
{
char y[10],ip1[10],ip2[10];
while(scanf("%s%s%s",y,ip1,ip2)!=EOF)
{
int yn[4],p1[4],p2[4];
split(y,yn);
split(ip1,p1);
split(ip2,p2);
int i;
for(i=0; i<4; i++)
if((p1[i]&yn[i])!=(p2[i]&yn[i]))break;
if(i==4)cout<<"0"<<endl;
else cout<<"2"<<endl;
}
return 0;
}
上一篇: MongoDB源码阅读之通信协议