我对C中的return语句有点困惑。我在C的大学介绍类中,我们已经学习了函数,但是我仍然不太明白返回值的用途。你能用它做什么?价值在哪里?例如,
#include <stdio.h>
int add(int, int);
int main()
{
int x=0, y =0, z;
// insert code here...
printf("Enter a number: ");
scanf("%d", &x);
printf("Enter another number: ");
scanf("%d", &y);
z = add(x,y);
printf("%d\n", z);
return z;
}
int add(int x, int y)
{
int sum;
sum = x + y;
return sum;
}
由于printf函数,仅显示总和。 return z
会发生什么?你能以某种方式将返回值传递给其他函数吗?
答案 0 :(得分:5)
通常,返回值由调用函数中的变量“捕获”。在您的情况下,main
是调用函数,add
是'被调用者'或被调用的函数。 int z
是捕获返回值的原因。
当然你可以将返回值传递给其他函数!类似的东西:
z = add(add(5,7), add(1,2));
将返回15!幕后发生的事情,没有太复杂,是内部的两个add
函数首先被评估,并且返回值被推送到堆栈上以供外部add
函数使用。堆栈是程序用来存储临时值的内存部分。
在main
的情况下,标准是返回值0
表示程序正确执行,非零返回值表示错误。程序启动时,操作系统会调用main
。
答案 1 :(得分:0)
你的“add”函数返回一个整数值。在你的“main()”函数中,你将“z”设置为该函数的结果......即...返回值。
答案 2 :(得分:0)
返回值是传递回调用函数的值。例如:
int theSum = add(2, 3); // theSum will equal 5 because the method add(int x, int y) will return 5.
答案 3 :(得分:0)
return将返回输出值。例如,当您使用add函数时,它将返回x + y的值,从而返回sum变量
答案 4 :(得分:0)
在main()函数的哪种情况下,它是返回调用者的代码。通常,0值表示成功,错误时非零值。
在bash脚本中它可能非常有用,例如:
foo && baa
如果baa
程序已成功退出, foo
程序就会运行。
Tipycall示例是在UNIX上编译库:
./configure && make && make install
答案 5 :(得分:0)
在尝试理解函数如何工作时,main()方法中的返回值并不重要。通常返回0或-1表示程序的状态。 在add函数中,您将int返回到调用add方法的任何其他函数。在您的情况下,main方法是调用add函数,add函数返回一个int。 您可以从您声明的任何其他方法调用add函数,这样您就可以重新使用函数。这是函数最重要的好处之一,您可以编写一次代码并多次使用它。所以你可以做这样的事情
int addNumbers(int x,int y,int z)
{
int sum = 0;
sum = sum + add(y,x);
sum = sum + add(z,0); // or sum = add(z,sum)
return sum;
}
现在你有两个函数,其中一个(addNumbers)正在调用另一个函数(add)。你可以从你的主要功能中调用它们。