【发布时间】:2012-09-16 14:52:26
【问题描述】:
我用 C++ 编写了一个程序来输出你告诉它的斐波那契数列中的数字。它一直工作到大约第 47 个数字,之后它会打印出完全不同的数字,甚至是负数,而且它们都没有超过 9 或 10 个单独的整数。这是代码
#include <iostream>
int a = 0;
int b = 1;
int c;
int var = 0;
int num;
void fibonacci()
{
using namespace std;
c = a;
a = a + b;
b = c;
var += 1;
}
void loop()
{
using namespace std;
for (int iii=0; iii<num; iii++)
fibonacci();
}
int main()
{
using namespace std;
cout << "What fibonacci number do you want to know? ";
cin >> num;
cin.get();
loop();
cout << "" << endl;
cout << c << endl;
cin.get();
a = 0;
b = 1;
var = 0;
return main();
}
c++ 一次可以打印多少个字符是否有某种限制?
【问题讨论】:
-
你需要多少个字符?您可以只使用
long或long long。类型在 C++ 中有限制(如果不是所有其他语言,大多数也是如此)。 -
什么数据类型可以获得最大字符数?
-
我想弄清楚为什么你在甚至不使用命名空间的函数中有
using namespace std;。 -
std::cout << std::numerical_limits<int>::max() << "\n"; -
@WillumMaguire,GMP 之类的东西可以让您随心所欲。除此之外,
uint64_t应该是无符号的 64 位类型,我认为 Visual Studio 甚至有一个特定于编译器的 128 位类型。
标签: c++ integer cout fibonacci