当前位置:首页 » 编程语言 » 判断ipv6地址是否正确c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

判断ipv6地址是否正确c语言

发布时间: 2022-07-21 15:03:41

1. c语言ip判断

#include<stdio.h>
structIP
{
inta;
charq1;
intb;
charq2;
intc;
charq3;
intd;
}s;
voidyesno()
{
scanf("%d%c%d%c%d%c%d",&s.a,&s.q1,&s.b,&s.q2,&s.c,&s.q3,&s.d);
if(s.a<256&&s.a>0&&s.b<256&&s.b>0&&s.c<256&&s.c>0&&s.d<256&&s.d>0)
{
if(s.q1=='.'&&s.q1=='.'&&s.q1=='.')printf("YES ");
elseprintf("NO ");
}
elseprintf("NO ");
}

main()
{
inti;
for(i=0;i<99;i++)
{yesno();}
}

2. 如何用C语言判断ip地址是否合法

可以试一下

#include<stdio.h>

intcheckIP(constchar*p)
{
intn[4];
charc[4];
if(sscanf(p,"%d%c%d%c%d%c%d%c",
&n[0],&c[0],&n[1],&c[1],
&n[2],&c[2],&n[3],&c[3])
==7)
{
inti;
for(i=0;i<3;++i)
if(c[i]!='.')
return0;
for(i=0;i<4;++i)
if(n[i]>255||n[i]<0)
return0;
return1;
}else
return0;
}

intmain()
{
constchar*x[]=
{
"192.168.1.1",
"10.0.0.1.",
"127.256.0.1",
"iugerjiogjioe",
"172.16,0.1",
0
};
constchar*m[]=
{
"不是合法的IP地址",
"是合法的IP地址"
};
inti=0;

while(x[i]!=0){
printf("%s%s ",x[i],m[checkIP(x[i])]);
++i;
}
return0;
}

3. C语言题目:输入一个IP地址,判断是否为正确形式

if((a[i]<'0'||a[i]>'9')&&a[i]!='.')//正确形式的时候

这一句,在ASCII表中0是在9前面的,所以应该是a[i]>='0'&&a[i]<='9',中间是逻辑与,这样可以保证只有数字才有效

还有,你的程序逻辑也有点问题,for(i=1;a[i]!='\n';i++),这是从a[1]开始判断,但是,应该是从a[0]开始判断。

再有,这个for循环里面,一开始判断的是输入的段数,你是根据点号判断的,你自己数一下,应该是3个点,但是你却是判断的 j!=4;肯定报错的

还有,判断大于3个数字的那里也有问题,你从始至终都只给b[]赋值过1,而且b[]并未初始化,数组元素值不确定,怎么能b[1]-b[0]>4呢?

4. c语言,求代码 判断ip是否正确,如图

要实现这样的功能。重点是格式输入读的数据的时候当中要有一个句点。得到的4个整数每一个。都满足这个条件的就是合法的IP地址,否则就不是。

5. C语言 问题 C: IP地址的合法性检查

#include <stdio.h>
int isVaildIp(char *ip) {
int dots = 0; /*字符.的个数*/
int setions = 0; /*ip每一部分总和(0-255)*/
if (NULL == ip || *ip == '.') { /*排除输入参数为NULL, 或者一个字符为'.'的字符串*/
return 0;
}
char *p = ip;
while (*p) {
if (*p == '.') {
dots ++;
if (setions >= 0 && setions <= 255) { /*检查ip是否合法*/
setions = 0;
p++;
continue;
}
return 0;
}
else if (*p >= '0' && *p <= '9') {
if (p != ip && *(p - 1) == '0' && *(p - 2) == '.')
return 0;/*判断是不是数字*/
setions = setions * 10 + (*p - '0'); /*求每一段总和*/
}
else
return 0;
p++;
}
if (setions >= 0 && setions <= 255) {
if (dots == 3) {
return 1;
}
}
return 0;
}
int main(void) {
int n;
scanf("%d", &n);
getchar();
while (n--) {
char s[100];
scanf("%s", s);
if (isVaildIp(s))
puts("YES");
else
puts("NO");
}
return 0;
}

6. 怎样验证IPv6地址格式是否合法

设置IPv6地址: 1、打开控制面板,依次进入“网络和Internet”- “网络连接”; 2、右击“本地连接”,在弹出的属性对话框中双击“Internet协议版本6(Tcp/IP); 3、在其属性框中选择手动,输入IPv6地址“3FFE:FFFF:7654:FEDA:1245:BA98:3210:4562”(由于IPv6处于测试阶段,因此可以自由输入确定其地址)。

7. c语言实现判断ip地址是否合法

#include<stdio.h>

intcheckIP(constchar*p)
{
intn[4];
charc[4];
if(sscanf(p,"%d%c%d%c%d%c%d%c",
&n[0],&c[0],&n[1],&c[1],
&n[2],&c[2],&n[3],&c[3])
==7)
{
inti;
for(i=0;i<3;++i)
if(c[i]!='.')
return0;
for(i=0;i<4;++i)
if(n[i]>255||n[i]<0)
return0;
return1;
}else
return0;
}

intmain()
{
constchar*x[]=
{
"192.168.1.1",
"10.0.0.1.",
"127.256.0.1",
"iugerjiogjioe",
"172.16,0.1",
0
};
constchar*m[]=
{
"不是合法的IP地址",
"是合法的IP地址"
};
inti=0;

while(x[i]!=0){
printf("%s%s ",x[i],m[checkIP(x[i])]);
++i;
}
return0;
}