C 在函数中同时返回两个值
如何在C编程语言中的一个函数中同时返回两个整型值,或者应该编写两个不同的函数?两个不同的函数或通过引用参数传递 e、 gC 在函数中同时返回两个值,c,function,return-value,multiple-return-values,C,Function,Return Value,Multiple Return Values,如何在C编程语言中的一个函数中同时返回两个整型值,或者应该编写两个不同的函数?两个不同的函数或通过引用参数传递 e、 g 您可以创建一个包含两个整数的struct,并将此struct作为函数的结果返回 #include <stdio.h> int returnTwoInt(int *var2) { *var2 = 2; return 1; } int main() { int var2 = 0; int var1 = returnTwoInt(&a
您可以创建一个包含两个整数的
struct
,并将此struct
作为函数的结果返回
#include <stdio.h>
int returnTwoInt(int *var2)
{
*var2 = 2;
return 1;
}
int main()
{
int var2 = 0;
int var1 = returnTwoInt(&var2);
printf("%d %d\n", var1, var2);
return 0;
}
在C语言中,您可以将数据存储在struct
中,如下所示:
struct foo {
int x;
int y;
}
如果返回它们不是强制性的,并且您可以接受使用指针,则可能采用以下方法:
void your_function(/* some other parameters */ int *ret1, int *ret2) {
int first_value, second_value;
// do whatever you want there
*ret1 = first_value; // first_value is the first value you want to return, quite obvious
*ret2 = second_value; // still obvious
}
然后,您可以按如下方式调用它:
// somewhere
int r1, r2;
your_function(/* other parameters */ &r1, &r2);
// here you can use "returned" values r1, r2
在C语言中,函数只能返回一个值。 您可以通过地址将变量传递给函数,并使用函数对其进行修改
#include <stdio.h>
int returnTwoInt(int *var2)
{
*var2 = 2;
return 1;
}
int main()
{
int var2 = 0;
int var1 = returnTwoInt(&var2);
printf("%d %d\n", var1, var2);
return 0;
}
#包括
int returnTwoInt(int*var2)
{
*var2=2;
返回1;
}
int main()
{
int var2=0;
int var1=returnTwoInt(&var2);
printf(“%d%d\n”,var1,var2);
返回0;
}
您可以使用以下任一方法-
使用struct
并返回struct变量
或
使函数使用指针处理参数。前-
这种答案在谷歌上很容易找到。你的意思是用数组中的“struct”这个词吗?请用英语@eestudentNo,他指的是struct。你是指按指针传递吗?C中的实现是“按指针传递”,但编程技术的名称通常称为“按引用传递”。
void f1(int *x, int *y){
*x = 1;
*y = 2;
}
int main(int argc, char* argv[]) {
int x,y;
f1(&x, &y);
printf("%d %d",x,y);
return 0;
}