标题:求大神们怎么做啊
只看楼主
w4654646
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2016-3-2
结帖率:76.47%
已结贴  问题点数:10 回复次数:6 
求大神们怎么做啊
#include<stdio.h>
int main()
{
    unsigned __int64 s=0,m=1;
    int n,i;
    scanf("%d",&n);
    if(n<=64)
    {
        for(i=1;i<=n;i++)
        {
            s+=m;
            m*=2;
        }
        printf("%I64u\n",s);
    }
    return 0;
}编译错误  说变量s没声明过  那么怎么声明
2016-03-09 14:58
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:3 
“编译错误  说变量s没声明过  那么怎么声明”
------ 有这打字的闲工夫,为什么不将编译器给出的信息拷贝粘贴出来呢?明明很简单的事,却要废话连篇,而且别人还听不懂。
2016-03-09 15:17
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
得分:3 
换个编辑器吧。
2016-03-09 15:21
w4654646
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2016-3-2
得分:0 
Main.cc: In function 'int main()':
Main.cc:4:19: error: expected initializer before 's'
  unsigned __int64 s=0,m=1;
                   ^
Main.cc:11:4: error: 's' was not declared in this scope
    s+=m;
    ^
Main.cc:11:7: error: 'm' was not declared in this scope
    s+=m;
       ^
Main.cc:14:20: error: 's' was not declared in this scope
   printf("%I64u\n",s);
这是结果  什么意思?
2016-03-09 15:27
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
回复 4楼 w4654646
你的编译器不认识 __int64
记住,尽量不用非标准的东西,用标准的 unsigned long long 不好吗,printf( "%llu……
2016-03-09 15:36
码程小伙
Rank: 2
等 级:论坛游民
威 望:1
帖 子:27
专家分:81
注 册:2015-12-11
得分:3 
改用long long 试试吧
2016-03-09 21:43
hzxsyzl
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:68
注 册:2016-3-8
得分:3 
64位 用long long表示吧。
2016-03-09 21:51



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




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

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