用c语言出一个IPv4格式的IP地址,判断地址的有效性。
时间: 2024-05-12 15:21:15 浏览: 140
以下是一个示例代码,用于检查IPv4地址的有效性:
```
#include <stdio.h>
#include <stdbool.h>
bool isValidIpAddress(char *ipAddress) {
int num1, num2, num3, num4;
if (sscanf(ipAddress, "%d.%d.%d.%d", &num1, &num2, &num3, &num4) != 4) {
return false;
}
if (num1 < 0 || num1 > 255 || num2 < 0 || num2 > 255 ||
num3 < 0 || num3 > 255 || num4 < 0 || num4 > 255) {
return false;
}
return true;
}
int main() {
char ipAddress[16];
printf("Enter an IPv4 address: ");
scanf("%s", ipAddress);
if (isValidIpAddress(ipAddress)) {
printf("Valid IP address\n");
} else {
printf("Invalid IP address\n");
}
return 0;
}
```
该代码首先从用户输入中读取IPv4地址,并使用sscanf函数将其解析为四个整数。然后检查每个数字是否在0到255的有效范围内。如果解析失败或数字不在有效范围内,则返回false。如果所有数字都有效,则返回true。最后,该代码将输出“Valid IP address”或“Invalid IP address”,具体取决于IP地址是否有效。
阅读全文