如果我在a[n]中有一个数组,并且我有一个函数以这个数组作为它的参数。这个函数接受数组,在数组中做一些更改,然后返回一个布尔值。我想做的只是,如果返回的值为false(原样返回数组),则撤消函数所做的更改。我怎样才能做到这一点呢?
在对数组进行更改之前,必须将数组复制到函数内部的本地数组中。因为数组是通过引用(作为参数)传递的。
return_type yourFunctionName(int a[n])
{
int tmp_arr = a; //The input array will copy to the tmp_arr by this line.
//Write your code by using the copied array
// If you need to apply the array changes to input array if the return value is true
//then finally copy the copied array to input array
a = tmp_arr;
}