2016-04-14 43 views
-4

是否可以发送两个值来分别运行并返回而不使用数组结构(如数组)?C中的函数发送多个值

这样的:

#include<stdio.h> 
int f(int a,int b) 
{ 
    a*=2; 
    b*=2; 

    return ????????? 
} 

int main() 
{ 
    int x=5,y=10,k; 
    k=f(x,y) ????????? 
    printf("%d",k); ???????? 
} 
+0

您可以传递变量作为一个参数的地址,以便在功能放置一些结果出现。 –

+2

可能的重复[如何从C函数返回多个值?](http://stackoverflow.com/questions/2620146/how-do-i-return-multiple-values-from-a-function-in -C) –

回答

0

您不能直接返回多个项目(其中项目可能是包含多个项目的结构)。但是,如果你对指针感到满意,你可以“通过引用传递”。

#include <stdio.h> 
void f(int *a, int *b) 
{ 
    *a *= 2; 
    *b *= 2; 
} 
int main() 
{ 
    int x=5, y=10; 
    f(&x, &y); 
    printf("new x: %d, new y: %d", x, y); 
} 

见这个结果在http://ideone.com/p4Xiqv

0

不,它不可能不使用任何数据结构返回多个值。但是,您可以传递任意数量的参数。