我是一个初学者,试图用C++编写东西。在下面的代码中,如果我为“adig”输入56,则得到一个结果,如果我仍然输入56,则得到另一个结果,但是从下面的代码中的两行中删除注释标记(因此它们是代码,不再注释),而是注释cout << sumodd(adig)(这样它就不会成为代码的一部分)。

为什么我得到2种不同的结果?

n

int sumodd( char adig1)

{
  int actualnum = adig1 - '0';
  return(actualnum);
}

int _tmain(int argc, _TCHAR* argv[])
{
  char adig;
  cout << "Enter a number\n";
  adig = cin.get();

  cout << sumodd(adig);
  //sumodd(adig);
  //cout << sumodd;

  return(0);
}

最佳答案

sumodd(adig);
cout<<sumodd;

使用此代码,您在调用sumodd而不保存结果,
然后打印函数汇总的地址。
如果您不喜欢单线,也许您想要类似
int res = sumodd(adig);
cout<<res;

关于c++ - 初学者c++:为什么此代码给出不同的结果?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30090781/

10-11 19:13