注册 登录
编程论坛 C++教室

双长型整数咋定义

w天然呆x 发布于 2013-06-10 14:43, 2600 次点击
#include<stdio.h>
int main()
{
    int n,i,j,t1=1,m=0; long long int t2=0;//对应报错是error C2632: 'long' followed by 'long' is illegal
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        for(j=1,t1=1;j<=i;j++)//最容易遗漏的就是t1=1
        {
            t1=t1*(-j);
        }
        t2=t2-t1;
    }
    printf("%3d   %5d\n",n,t2);
}
8 回复
#2
peach54602013-06-10 15:25
long long谁教的?
#3
w天然呆x2013-06-10 15:57
回复 2楼 peach5460
c语言设计第四版 谭浩强著,Visual c++我想定义一个六十四位的,可是不行
#4
w天然呆x2013-06-10 16:07
回复 2楼 peach5460
傲娇的版主,longlong对不对呢
#5
嗜血老妖2013-06-10 18:35
long long 变量名;
#6
TonyDeng2013-06-10 22:26
不是所有编译器的long long都是64位。用类似__int64这样的,具体查看所用编译器的帮助文档。
#7
peach54602013-06-11 14:34
以下是引用w天然呆x在2013-6-10 15:57:48的发言:

c语言设计第四版 谭浩强著,Visual c++我想定义一个六十四位的,可是不行

不要信谭浩强。。。
#8
w天然呆x2013-06-11 22:55
好吧,谢谢傲娇的武汉版主、非机器的版主、仗剑走天涯的嗜血老妖
#9
rjsp2013-06-13 08:36
要不你换个编译器,你的编译器太老旧了。
long long 是标准C语言(C99),和标准C++语言(C++11) 的内建类型
属于比较常用的类型,即使你的编译器不支持C99/C++11,也可能会支持long long。
对于 long long,printf格式应该是 %lld,不是你代码中的 %5d
1