cvte2019校园招聘嵌入式编程题1详解

本文详细解析了cvte2019校园招聘中的一道嵌入式编程题,主要任务是检查输入的IP地址字符串是否合法。通过使用C库函数strtok进行字符串分割,判断每个段是否为16进制并转换为10进制数值,同时确认IP地址的段数和'.'的数量,确保它们符合IP地址的规范。
摘要由CSDN通过智能技术生成

1.输入一个IP地址字符串(支持16进制和10进制),判断ip是否合法,例如ip为“192.1.0.1”返回ture,ip为“266.266.266.1”,返回false.

实现函数:int  checkIP(const char *str);

程序代码如下


 

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>


static  int  isString_Hex(char *p)
{
	
	int  ret = 0;
	if (p == NULL)
	{
		ret = 0;
	}
	else
	{
		
		while (*p)
		{

			if (((*p >= 'a') && (*p <= 'f')) || ((*p >= 'A') && (*p <= 'F')))
			{
				ret = 1;
				break;
			}
			else
			{
				ret = 0;
			}
			p++;
		}
	}

	
	return ret;

}


/***
***:checkIP
***Function:判断ip地址是否合法
***Input:  str   IP地址
***Output: TRUE 合法
		   FALSE 不合法
****/
int  checkIP(const  char *str)
{
	//const char * str 表示其指针所指向的内容是只读的,不能被修改
	//ip地址默认采用IPv4的点分十进制法,合法地址为0.0.0.0-255.255.255.255
	int  ret
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值