在output = [
['a','b','c'],
['a','b','d'],
['a','b','e'],
['a','c','d'],
['a','c','e'],
['a','d','e'],
['b','c','d'],
['b','c','e'],
['b','c','f'],
['b','d','e'],
['b','d','f'],
['b','e','f'],
['c','d','e'],
['c','d','f'],
['c','d','g'],
['c','e','f'],
['c','e','g'],
['c','f','g']
]
中调用函数之前,我需要初始化一个函数的返回值。
我是通过首先将函数的参数传递给不可能的条件来实现的,例如
main()
但是我认为有一种更好的方法。
由于函数名本身是使用此语句 int func(int x, int y)
{
if (x == 0 && y == 0)
return 10; // the value I want to initialize the function to
// after making sure x and y will never equal to zero
else
{
// do whatever
}
}
的指针,因此我尝试使用间接运算符(*
)。
答案 0 :(得分:3)
这个问题不是很清楚,但我想你是在问:
int func(int x, int y)
{
int retval = 0;
if ( x == 0 && y == 0 )
retval = 10;
// ...other stuff...
return retval;
}
某些语言的返回值有一个隐式变量,您可以修改,但C不能。
没有诸如“在调用函数之前初始化返回值”之类的东西,返回值是函数执行的一部分。