C++函数中声明和返回变量,并在主函数中使用它
C++ declaring and returning a variable in a function and using it in the main function
我希望我的函数sum()将两个数字相加并将结果分配给变量"result"。然后我想将此结果输出到我的主函数中。我在这里做错了什么:
#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");
}
Erm,您可以将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++而苦苦挣扎..!
在主函数中放置:
int result = sum(a,b);
result
是一个 局部变量。 它仅存在于sum()
函数的上下文中。
sum()
返回result
by-value,这意味着正在(可能)创建result
的副本并从函数返回。 由于您没有将该值分配给任何内容,因此它消失了。
首先,这样做:
int main()
{
int a=2;
int b=3;
int c = sum(a,b);
printf("%d",c);
system("PAUSE");
}
运行完它之后,停止你正在做的事情,拿起一本关于C++的好书。
好吧,我知道我只知道一点这种语言,但我仍然可以轻松回答这个问题。
#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 结果是一个局部变量,这意味着一个只能由内部创建的块访问的变量。因此程序不会返回结果。
主块内的 sum(a,b) 应这样写:
int r = sum(a,b);
注意:您可以将代码中的"r"替换为您喜欢的任何名称。
main() 部分应该这样写:
int main() {
无论如何,你现在使用的语言被称为"C语言",而不是C++它基于我刚才说的那种语言。所以去找一本关于C++的书,但如果你对你正在使用的那本书感兴趣,那就去找一本关于C语言的书。
相关文章:
- 未使用的C++未优化的静态成员函数/变量
- 内联函数/变量的外部链接
- 同一函数中的静态函数变量初始化顺序
- 将非静态成员函数C 的使用无效,而将成员功能作为函数变量
- 如何从doxygen输出中排除类的无证件成员函数/变量
- 如何在LUA C API中分配全局LUA函数变量
- 如何将函数变量传递给C lambda函数
- 通过另一个C++函数更改函数变量
- c++11 lambda 真的支持闭包吗?函数变量中存在语义冲突
- C++:静态成员不能在声明时定义,但静态函数变量可以?
- apache-frift是否支持函数变量作为参数
- 类函数/变量在使用之前必须声明
- 函数变量去哪里
- 无法使用函数变量?错误表达式必须具有类类型
- 如何在main中使用函数变量
- 每当尝试打印函数变量时,C++ cout 错误
- 是否存在查看成员函数/变量的整洁等效项
- 访问友元类之间的函数变量
- 函数到函数变量
- 一个定义规则是否强制创建一个静态函数变量