C语言 关于IP地址的程序问题
来源:百度知道 编辑:UC知道 时间:2024/05/30 18:57:06
有个C语言的问题求助帮忙
问题是这样的
某个4个字节的IP地址存放在一个整数a中,输入a的值,输出对应的ip地址。
(构造一个结构体和共用体来解决)
一直没怎么看明白。。希望大家来帮忙解决一下
left of'.testu' must have struct/nuion type。。。怎么回事啊。。。
问题是这样的
某个4个字节的IP地址存放在一个整数a中,输入a的值,输出对应的ip地址。
(构造一个结构体和共用体来解决)
一直没怎么看明白。。希望大家来帮忙解决一下
left of'.testu' must have struct/nuion type。。。怎么回事啊。。。
这里有个隐含假设,即,整数也是用四字节表示的。这样的假设下,四字节IP地址和整数在内存中无差别。
比如:
#include <stdio.h>
typedef struct IPAddr_
{
unsigned char a;
unsigned char b;
unsigned char c;
unsigned char d;
}IPAddr_t;
typedef union u_
{
int x;
IPAddr_t y;
}u; // 整数与IP地址用共用体表示
void main()
{
u testu;
testu.x = 303199946; // 也可用“scanf("%d",&(testu.x)); ”输入整数
// 输出IP地址202.118.18.18
printf("%d.%d.%d.%d",testu.y.a,testu.y.b,testu.y.c,testu.y.d);
return;
}
1楼正解。
不错
不懂 高深