标题:文中的long 到底起什么作用啊!!!
只看楼主
chenyu1818
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-11-23
结帖率:100%
已结贴  问题点数:5 回复次数:7 
文中的long 到底起什么作用啊!!!
#include<stdio.h>
main()
{
    int i=1,n;
    long s=1;
    printf("shuru n:\n");
    scanf("%d",&n);
    do
    {
        s=s*i;
        i++;
    }
    while(i<=n);
    printf("%d!=%d\n",n,s);
    getch();
}
搜索更多相关主题的帖子: long 
2012-12-07 15:01
LC。C
Rank: 1
等 级:新手上路
帖 子:16
专家分:5
注 册:2012-11-27
得分:5 
回复 楼主 chenyu1818
长整形啊!s=s*i 可能会超出int的取值范围。旧的int是2个字节的,看看那东东写得环境是不2字节的int

[ 本帖最后由 LC。C 于 2012-12-7 15:07 编辑 ]
2012-12-07 15:06
chenyu1818
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-11-23
得分:0 
回复 2楼 LC。C

如果是长整型的话,我不加可不可以呢?我是新手哈,请麻烦解释一下。今天做阶乘的题的时候遇到的,有点头晕了。
2012-12-07 15:09
LC。C
Rank: 1
等 级:新手上路
帖 子:16
专家分:5
注 册:2012-11-27
得分:0 
回复 3楼 chenyu1818
我用的环境int是4字节的 long跟int没区别。你的环境估计也是。
自己运行下 看看自己的是多少字节

用sizeof运算符可以得到各种类型数据占用存储单元长度,利用数据间的关系和不同控制符,可以得到查看数据的存储形式。

    printf ("int 型数据所占字节数: %d\n",sizeof(int));
2012-12-07 15:14
chenyu1818
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2012-11-23
得分:0 
回复 4楼 LC。C

我这里运行以后显示的是2,是两个字符的意思吗?我用的是老师说的最基本的win-tc做的,你用的什么呢?
2012-12-07 15:29
LC。C
Rank: 1
等 级:新手上路
帖 子:16
专家分:5
注 册:2012-11-27
得分:0 
回复 5楼 chenyu1818
Microsoft Visual Studio 2008
2012-12-07 15:34
农民也疯狂
Rank: 2
来 自:伯纳乌
等 级:论坛游民
帖 子:48
专家分:56
注 册:2012-12-4
得分:0 
WinGW

屌丝的世界不容懈怠
2012-12-07 19:10
shanyaoshan
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2012-12-3
得分:0 
long是长整形的数据类型,精确度高点而已,其他与int一样的
2012-12-09 18:07



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




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

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