Kay*_*Kay 2 c return function 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;
}
Run Code Online (Sandbox Code Playgroud)
由于printf函数,仅显示总和.怎么了return z?你能以某种方式将返回值传递给其他函数吗?
通常,返回值由调用函数中的变量"捕获".在你的情况下,main是调用函数,add是'被调用者',或被调用的函数. int z是什么捕获返回值.
当然,您可以将返回值传递给其他函数!就像是:
z = add(add(5,7), add(1,2));
Run Code Online (Sandbox Code Playgroud)
将返回15!幕后发生的事情,没有太复杂,是内部的两个add函数首先被评估,并且返回值被推送到堆栈上以供外部add函数使用.堆栈是程序用来存储临时值的内存部分.
在这种情况下main,标准是返回值0意味着程序正确执行,非零返回值表示错误. main程序启动时由操作系统调用.