C中的函数,发送多个值

时间:2016-04-14 18:22:47

标签: 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);  ????????
}

2 个答案:

答案 0 :(得分:0)

不,如果不使用任何数据结构,则无法返回多个值。但是,你可以传递任意数量的论点。

答案 1 :(得分:0)

您无法直接返回多个项目(项目可能是包含多个项目的结构)。但是你可以通过参考&#34;通过参考&#34;如果你对指针感到满意。

#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

查看结果