免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1209 | 回复: 6
打印 上一主题 下一主题

菜鸟问题2 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-02-18 14:48 |只看该作者 |倒序浏览
我的这个函数的结果是
ntemp is 2147483647
ntemp is -2047484761
是什么地方出问题了?
char* encode(key)
char *key;
{
    char stemp[10] ;
    char strbuf[100];
    char tmpbuf[10];
    int i;
    long ntemp;
    char j;

    memset(strbuf,0,sizeof(strbuf));
    for(i=0;key;i++)
    {
       j = key;
       sprintf(tmpbuf,"%d",j);
       strcat(strbuf,tmpbuf);
    }
    ntemp = atol(strbuf);
    printf("ntemp is %ld\n",ntemp);
    ntemp = ntemp + 99998888;
    printf("ntemp is %ld\n",ntemp);

论坛徽章:
0
2 [报告]
发表于 2003-02-18 15:07 |只看该作者

菜鸟问题2

最后应该用atoll函数

论坛徽章:
0
3 [报告]
发表于 2003-02-18 15:16 |只看该作者

菜鸟问题2

没这个函数atoll()

论坛徽章:
0
4 [报告]
发表于 2003-02-18 15:19 |只看该作者

菜鸟问题2

你是什么系统?
linux下有的。
如果不行,试试atof。

论坛徽章:
0
5 [报告]
发表于 2003-02-18 15:23 |只看该作者

菜鸟问题2

我是aix
有atof
但是结果不对
ntemp is 2147483647
ntemp is -2047484761

我原来的数+99998888怎么回得-2047484761呢?

论坛徽章:
0
6 [报告]
发表于 2003-02-18 15:33 |只看该作者

菜鸟问题2

这是浮点溢出阿。太大了就要溢出了。

论坛徽章:
0
7 [报告]
发表于 2003-02-18 15:48 |只看该作者

菜鸟问题2

一个人最多能活多少岁,一千岁,你说行吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP