C ++声明并返回函数中的变量并在main函数中使用它

时间:2014-01-09 14:28:24

标签: c++

我希望我的函数sum()添加两个数字并将结果赋值给变量“result”。然后我想把这个结果输出到我的main函数。我在这做错了什么:

#include <stdio.h>
#include <stdlib.h>

int sum(int a,int b)
  {
   int result;
   result = a + b;
   return result;
  }

main()
{ 
   int a=2;
   int b=3;
   sum(a,b);
   printf("%d",result); 
   system("PAUSE");
}

4 个答案:

答案 0 :(得分:2)

嗯,您可以将sum的结果分配给局部变量并打印出来:

#include <stdio.h>
#include <stdlib.h>

int sum(int a,int b)
  {
   int result;
   result = a + b;
   return result;
  }

main()
{ 
   int a=2;
   int b=3;
   int res=sum(a,b);
   printf("%d",res); 
   system("PAUSE");
}

然而,如果你问这类问题,那么你真的会挣扎于C ++ ......!

答案 1 :(得分:1)

在主要功能中:

int result = sum(a,b);

答案 2 :(得分:1)

result本地变量。它仅存在于sum()函数的上下文中。

sum()按值返回result,这意味着result的副本(可能)正在从函数中生成并返回。由于您没有将该值分配给任何内容,因此它会消失。

首先,这样做:

int main()
{
  int a=2;
  int b=3;
  int c = sum(a,b);
  printf("%d",c); 
  system("PAUSE");
}

运行之后,停止正在进行的操作并选择good book on C++

答案 3 :(得分:0)

好的,我知道我只懂一点这种语言,但我仍然可以轻松回答这个问题。

#include <stdio.h>
#include <stdlib.h>

int sum(int a,int b)
  {
   int result;
   result = a + b;
   return result;
  }

main()        // Are you serious? You forgot the int?
{ 
   int a=2;
   int b=3;
   sum(a,b);  // I'll explain this later.
   printf("%d",result); 
   system("PAUSE");
}

int sum() 块中, int result 是一个局部变量,表示变量只能通过内部创建的块访问。所以程序不会返回结果。

主要区块内的 sum(a,b) 应如下所示:

int r = sum(a,b);

注意:您可以使用您喜欢的任何名称替换代码中的“r”。

main() 部分应该像这样写:

int main() {

无论如何,你现在使用的语言被称为“C语言”,而不是C ++,它基于我刚才谈到的那种语言。所以去看一本关于C ++的书,但如果你对你正在使用的那个感兴趣,那么去找一个关于C语言的文章。