读书人

C语言 把111111110.转换为IP地址 代码

发布时间: 2013-07-11 15:38:46 作者: rapoo

C语言 把111111110...转换为IP地址 代码出现的问题
做一个题目,把类似11111111111111111111111100000000 这样的一串32位的数字转成IP地址(本例为:255.255.255.0)。

我写了一些代码(还没写完),思路是把这串数字存到 char a[33]数组里面。然后分成四个小的数组存到 a0_7[]、a8_15[]、a16_23[]、a24_31[]里面。然后用atoi函数把每个小数组从字符串转为整数计算输出即可。但是下面赋值到四个小数组的代码,编译没问题在运行是出错了,不知是哪里有问题。(数组也没越界呀,希望前辈指点)

                                                                            
[解决办法]
for(i=8;i<=15;i++)
a8_15 [i]=a[i];

for(i=16;i<=23;i++)
a16_23[i]=a[i];

for(i=24;i<=31;i++)
a24_31[i]=a[i];
都越界了!a8_15, a16_23 a24_31 数组下标都是0-7啊 你for循环错了

for(i=0;i<=7;i++)
a8_15 [i]=a[i+8];

for(i=0;i<=7;i++)
a16_23[i]=a[i+16];

for(i=0;i<=7;i++)
a24_31[i]=a[i+24];

读书人网 >C语言

热点推荐