小编ada*_*rsh的帖子

C如何打印超大号?

这段代码如何打印这么大的数字?我在Ubuntu 14.04(gcc 4.8.2)上尝试过它.它在任何编译器的MS Windows上都不起作用(即使是MinGW,也称为"gcc for Windows").为什么?

#include <stdio.h>
#include <math.h>
int main()
{
    printf("%.0f\n",pow(2,500));
}
Run Code Online (Sandbox Code Playgroud)

Ubuntu输出:

3273390607896141870013189696827599152216642046043064789483291368096133796404
674554883270092325904157150886684127560071009217256545885393053328527589376
Run Code Online (Sandbox Code Playgroud)

Windows输出:

3273390607896141900000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000
Run Code Online (Sandbox Code Playgroud)

(为了清晰起见,添加了换行符.)

c linux windows gcc compilation

4
推荐指数
1
解决办法
242
查看次数

在main的return 0语句之后可以调用任何函数吗?

我想,这个代码的输出应该在第一个析构函数之后停止.因为在它们的括号之后调用了析构函数.因此,由于前三个析构函数的闭括号是在返回0之后; 声明,如何调用他们的析构函数?

#include < iostream> 

using namespace std;

int val=0;

class abc
{

public :

  abc()
  {
    cout<<++val;
  }

  ~abc()     
  {     
    cout<<--val;    
  }

};

int main()
{
  abc a1,a2,a3;
  {
    abc a4;
  }
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:12343210

为什么不:12343

c++ c++11

1
推荐指数
1
解决办法
181
查看次数

标签 统计

c ×1

c++ ×1

c++11 ×1

compilation ×1

gcc ×1

linux ×1

windows ×1