初学者c ++:为什么这段代码会给出不同的结果?

时间:2015-05-07 02:12:19

标签: c++

我是一个尝试用c ++编写内容的初学者。在下面的代码中,如果我为&#39; adig&#39;输入56,则得到一个结果,如果我仍然输入56,则得到另一个结果,但是从下面的代码中的2行中删除注释标记(所以他们是代码的一部分,不再评论),而是评论cout << sumodd(adig)(以便它不是代码的一部分)。

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

日Thnx

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);
}

1 个答案:

答案 0 :(得分:1)

sumodd(adig);
cout<<sumodd; 

使用此代码,您在不保存结果的情况下调用sumodd,
然后你打印函数su​​modd的地址 如果你不喜欢单行,也许你想要像

这样的东西
int res = sumodd(adig);
cout<<res;