快捷导航

一个返回值为long long类型的函数返回的值不是longlong类型,为什么

#include
using namespace std;

long long  int find(int n)
{
int nn = 1;
for (int i = 0; i < n; i++)
{
  nn *= 2;
}
return nn;
}
int main()
{
cout

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员1

虽然 find 函数的返回类型是 long long int,但是函数中的 nn 却是 int 类型!
函数中 nn 参与的所有运算也都是 int 的,所以最后 nn 中的数据太大溢出了。nn 中的数据已经不正确了,函数返回时的返回值由 nn 初始化,那么返回值自然也是不正确的,即便返回值类型是 long long int...


将 find 函数中的 nn 同样改为 long long int 就好了
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP