int f(int a[], int size) {
if (size == 1)
return arr[0];
size--;
return f((arr + (arr[0] > a[size])), size);
}
Minimum endeksini döndürmeye çalışıyorum. Yukarıdaki kod, minimum değerin VALUE değerini döndürür, ancak dizini döndürmede sorun yaşıyorum, herkes yardımcı olabilir mi? Ayrıca, yalnızca işleve, diziye ve dizinin boyutuna 2 parametreyi geçebilirim. BöyleDönüş min Dizin Yinelemeli olarak
Bu hangi bir dildir? C? C++? – Paul
Eğer işlev C veya C++ (veya C veya C++ tabanlı herhangi bir dilde) ise, birden fazla değer döndüremezsiniz. Bir * çıktı * parametresi olarak "döndürür" veya bir * çift * veya * tuple * veya * yapı * veya hatta bir * dizi * (bazı dillerde) dönüş değeri olarak kullanabilirsiniz. Tam olarak nasıl yapılacağı, hakkında hiçbir şey bilmediğimiz dile bağlı. –
Veya bekleyin, işlevi * sadece * indeksi döndürmek için değil, değeri değiştirmek ister misiniz? –