我希望我的函数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");
}
答案 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语言的文章。