通过函数传递多个但不同的变量/输入?

时间:2018-07-30 07:54:42

标签: c function

我想通过一个返回单个值/输出的函数传递多个不同的变量。 我能想到的唯一方法是为需要传递给它的每个值调用函数。

例如

int foo = 9;
int doo = 4;
int yoo = 23;
convertIntToSomethingElse(foo);
convertIntToSomethingElse(doo);
convertIntToSomethingElse(yoo);

我有一种很强烈的感觉,那就是编程不好,并且有一种更有效的方式来执行此操作。

1 个答案:

答案 0 :(得分:1)

自从你问了一个例子。

有两种方法可以做到这一点:

首先,是将整个数组传递给一个函数,然后在数组中多次处理这些事情:

int yourArray[3] = {9, 4, 23};
//get the number of elements in the array by dividing total size by a 
//size of a single element
//if you know the size you can just use that, but it's not reccomended

size_t n = sizeof(a)/sizeof(a[0]); //Pass this to function to get array size

void yourFunction (int a[], int sizeOfArray){

    int i;
    for(i=0;i<sizeOfArray;i++){
        //do stuff you need
    }
}

第二种方法是使用循环在数组中多次运行该函数:

for(i=0; i<n; i++){
    yourFunction(yourArray[i]);
}