return在C函数中的作用,是不是return调用的变量的值?
Role of return in C functions, does it return the value of the variable called?
经过一些研究,由于 K & R 的“C 编程语言”第 1.7 章中的示例不是很清楚,我了解到 return
通常出现在每个函数的末尾,标记其结尾;
好像默认情况下,return的值为0
,表示函数执行成功(具体是什么意思?)。
如果我们将 return 的值设置为我们调用的变量会发生什么?
例如,如果我写:
return p;
这是否意味着函数的最终值将是 p
?
因此,例如,如果我从 main()
或另一个函数调用此函数,那么 main()
内的此函数的值会是 p
吗?
示例:
#include <stdio.h>
int power(int m, int n);
/* test power function */
int main(){
int i;
for(i = 0; i < 10; ++i)
printf("%d %2d %3d", i, power(2,i), power(-3,i));
return 0;
}
int power(int base, int n)
{
int i, p;
p=1;
for(i=1;i<=n;++i)
p=p*base;
return p;
}
这是否意味着当我在 main 中调用 power()
时它的值是 p
?
由 power
编辑的值 return 是 p
的值。
我们可能会简称为“power
returned p
”,但 p
的值是 returned。
函数没有值;函数 return 一个值。
p
不是一个值; p
是一个变量。
由power
计算的值return是return p
求值时p
的值。所以如果p
的值是8
,那么returned的值就是8
.
以上程序将 returned 值传递给 printf
进行打印。
it seems that by default, the value of return is 0
函数没有默认 return 值。如果函数的 return 类型不是 void
,则必须使用 return
。
main
是唯一的例外。 return 0
是 main
的默认值。
经过一些研究,由于 K & R 的“C 编程语言”第 1.7 章中的示例不是很清楚,我了解到 return
通常出现在每个函数的末尾,标记其结尾;
好像默认情况下,return的值为0
,表示函数执行成功(具体是什么意思?)。
如果我们将 return 的值设置为我们调用的变量会发生什么?
例如,如果我写:
return p;
这是否意味着函数的最终值将是 p
?
因此,例如,如果我从 main()
或另一个函数调用此函数,那么 main()
内的此函数的值会是 p
吗?
示例:
#include <stdio.h>
int power(int m, int n);
/* test power function */
int main(){
int i;
for(i = 0; i < 10; ++i)
printf("%d %2d %3d", i, power(2,i), power(-3,i));
return 0;
}
int power(int base, int n)
{
int i, p;
p=1;
for(i=1;i<=n;++i)
p=p*base;
return p;
}
这是否意味着当我在 main 中调用 power()
时它的值是 p
?
由 power
编辑的值 return 是 p
的值。
我们可能会简称为“power
returned p
”,但 p
的值是 returned。
函数没有值;函数 return 一个值。
p
不是一个值; p
是一个变量。
由power
计算的值return是return p
求值时p
的值。所以如果p
的值是8
,那么returned的值就是8
.
以上程序将 returned 值传递给 printf
进行打印。
it seems that by default, the value of return is
0
函数没有默认 return 值。如果函数的 return 类型不是 void
,则必须使用 return
。
main
是唯一的例外。 return 0
是 main
的默认值。