C语言:判断IP地址是否合法

int is_valid_ip(const char *ip)
{
    int section = 0;  //每一节的十进制值
    int dot = 0;       //几个点分隔符
    int last = -1;     //每一节中上一个字符
    while(*ip){
        if(*ip == '.'){
            dot++;
            if(dot > 3){
                return 0;
            }
            if(section >= 0 && section <=255){
                section = 0;
            }else{
                return 0;
            }
        }else if(*ip >= '0' && *ip <= '9'){
            section = section * 10 + *ip - '0';
            if(last == '0'){
                return 0;
            }
        }else{
            return 0;
        }
        last = *ip;
        ip++;       
    }

    if(section >= 0 && section <=255){
        section = 0;
    }
    return 1;
}

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页