| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1008 人关注过本帖
标题:相当小的输入都可能使int类型的计数变量溢出
只看楼主 加入收藏
jarod117
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-12-15
结帖率:50%
收藏
 问题点数:0 回复次数:2 
相当小的输入都可能使int类型的计数变量溢出
在C程序设计语言里面看到这句话:
Long整型数(长整型)至少要占用32 位存储单元。在某些机器上int与long类型的长度相同,但在一些机器上,int类型的值可能只有16 位存储单元的长度(最大值为32767),这样,相当小的输入都可能使int类型的计数变量溢出。

这里面这个  相当小的输入  是什么意思?
我在输入时,输入好多字符,也不会看见数据溢出的现象啊!
哪位帮忙解释下,谢谢了!
搜索更多相关主题的帖子: int 变量 类型 计数 输入 
2010-12-15 14:53
a343637412
Rank: 7Rank: 7Rank: 7
来 自:そ ら
等 级:黑侠
帖 子:357
专家分:620
注 册:2010-9-26
收藏
得分:0 
#include<stdio.h>

int main()
{
    int i,j,sum;
    int a[26];
    a[1]=1;
    for(i=1;i<25;i++)
    {
        a[i+1]=a[i]*(i+1);
    }
    for(i=1;i<26;i++)
    {
        printf("%d %d\n",i,a[i]);   
    }
   
    return 0;
}




1 1
2 2
3 6
4 24
5 120
6 720
7 5040
8 40320
9 362880
10 3628800
11 39916800
12 479001600
13 1932053504
14 1278945280
15 2004310016
16 2004189184
17 -288522240
18 -898433024
19 109641728
20 -2102132736
21 -1195114496
22 -522715136
23 862453760
24 -775946240
25 2076180480
Press any key to continue



这个程序代码精度只到13  到了14后就出现溢出现象
2010-12-15 15:28
jarod117
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-12-15
收藏
得分:0 
哦,懂得了,上面的结果中最大值就超过32767的范围了。
多谢!
2010-12-15 15:34
快速回复:相当小的输入都可能使int类型的计数变量溢出
数据加载中...
 
   



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

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