c语言问题,萌新求解惑
我想要把ip地址打印出来,为什么这个代码打印出来的值是-66672448,而定义了下面那个函数后,就可以完整的将ip地址打印出来了?求好心人解惑int main()
{
unsigned char *p1 = &ip;
*p1 = 192;
p1++;
*p1 = 168;
p1++;
*p1 = 6;
p1++;
*p1 = 252;
printf("%d")
return 0;
}
void ip2s(int n) //定义了一个函数ip2s
{
unsigned char *p = &n;
printf("ip = %u.%u.%u.%u", *p, *(p + 1), *(p + 2), *(p + 3));
}
上面的代码是将unsigned char数值放到int里,结果失败了,显示-66672448,下面的代码不也是将unsigned char赋值给int吗?为什么加了下面的代码,就可以打印出ip 192.168.6.252