c语言 ip地址转换改错

Python016

c语言 ip地址转换改错,第1张

#include <stdio.h>

#include <math.h>

int main ()

{ int j,i,sum=0,a,b,c,d

  char ch

  for(j=0 j<32 j++)

  { ch=getchar()

    i=j%8

    sum+=(ch-'0')*pow(2,7-i)

    if(j==7)

      a=sum,sum=0

    else if(j==15)

      b=sum,sum=0

    else if(j==23)

      c=sum,sum=0

    else if(j==31)

      d=sum

  }

  printf("%d.%d.%d.%d",a,b,c,d)

  return 0

}

#include "stdio.h"

void main()

{

char a[32] /*输入的二进制数据*/

int b[4] /*输出的IP地址数据*/

int c[8]={128,64,32,16,8,4,2,1}/*查询表*/

int temp

int sum

int i

int m

printf("请输入32位二进制数字:")

for(i=0i<32i++)

scanf("%c",&a[i])

/*scanf("%s",a)*/ /*可以按字符串输入,字符串输入是要注意末尾的\0*/

printf("输入的二进制数字是:\n")

for(i=0i<32i++)

printf("%c",a[i]) /*显示输入二进制数据,也可按串输入*/

for(i=0i<4i++)

{

sum=0

for(m=0m<8m++)

{

temp=8*i+m

sum+=(int)(a[temp]-'0')*c[m] /*累加*/

}

b[i]=sum

}

printf("输出的IP地址为:\n")

for(i=0i<3i++)

{

printf("%d.",b[i])

}

printf("%d\n",b[i])

}