求对一个字符串判断是否为ip地址的C程序

2025-01-20 03:56:43
推荐回答(1个)
回答1:

#include
#include
#include
int main()
{
char ip[20];
printf("请输入ip\n"); //点分十进制
scanf("%s",ip);
const char* del=".";
char* token=strtok(ip,del);
int i=0,tem=0;
bool flag=1;
while(token!=0)
{
i++;
tem=atoi(token);
if(tem>255||tem<0)
{
printf("不是,ip地址的点分十进制大于等于0小于等于255\n");
flag=0;
break;
}
token=strtok(0,del);
if(i>=5)
{
printf("不是点分十进制的ip\n");
flag=0;
break;
}
}
if(i<4&&flag)
{
printf("不是点分十进制的ip\n");
flag=0;
}
if(flag) printf("是点分十进制的ip\n");
return 0;
}