返回语句,值 - 它们是如何使用的?

时间:2012-11-28 03:39:16

标签: c function return return-value

我对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会发生什么?你能以某种方式将返回值传递给其他函数吗?

6 个答案:

答案 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)。你可以从你的主要功能中调用它们。