标题:c语言问题,萌新求解惑
只看楼主
c语言小学童
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-11-20
结帖率:0
已结贴  问题点数:20 回复次数:5 
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
搜索更多相关主题的帖子: ip地址 return c语言 
2016-11-20 12:19
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
得分:10 
看着你的提问就头晕。关键是提供的代码不完整或者是错的。
2016-11-20 14:09
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:10 
错误太多了

DO IT YOURSELF !
2016-11-20 17:21
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
简单点  这个咋样
程序代码:
#include<stdio.h>


int main()
{
   int s[4];
   scanf("%d.%d.%d.%d",&s[0],&s[1],&s[2],&s[3]);
   printf("您所输入的IP地址是 %d.%d.%d.%d",s[0],s[1],s[2],s[3]);
   return 0;
}


DO IT YOURSELF !
2016-11-20 17:27
c语言小学童
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-11-20
得分:0 
以下是引用wp231957在2016-11-20 17:27:23的发言:

简单点  这个咋样#include<stdio.h>


int main()
{
   int s[4];
   scanf("%d.%d.%d.%d",&s[0],&s[1],&s[2],&s[3]);
   printf("您所输入的IP地址是 %d.%d.%d.%d",s[0],s[1],s[2],s[3]);
   return 0;
}



谢谢亲



2016-11-22 00:22
c语言小学童
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2016-11-20
得分:0 
回复 2楼 linlulu001
不好意思,我也发现这么问问题太折磨人...
2016-11-22 00:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-471369-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.127268 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved