我想明白這段代碼試圖完成什麼。給出了函數中值,但我通過向函數傳遞某些東西來添加主函數和typedef/prototypes,以便理解它的功能。但是我可以弄清楚什麼或如何傳遞給它。我明白這個功能是某種類型的。我真正需要知道的是正在傳遞給函數的是什麼? N個索引的數組?你如何將數組傳遞給像這樣的函數:void fooboo(char array [i]);
謝謝你的指導!
#include <stdio.h>
#include <stdlib.h>
typedef unsigned char pix_t;
pix_t median(pix_t window[N]);
int main() {
pix_t window[] = { 4, 3, 2, 1 };
pix_t output;
output = median(window[N]);
}
pix_t median(pix_t window[N])
{
pix_t t[N], z[N];
int ii, k, stage;
// copy locally
for (ii = 0; ii<N; ii++) z[ii] = window[ii];
for (stage = 1; stage <= N; stage++) {
k = (stage % 2 == 1) ? 0 : 1;
for (ii = k; ii<N - 1; ii++) {
t[ii] = MIN(z[ii], z[ii + 1]);
t[ii + 1] = MAX(z[ii], z[ii + 1]);
z[ii] = t[ii];
z[ii + 1] = t[ii + 1];
}
}
return z[N/2];
}
不知道如果我只是想念它,但在哪裏'N'定義?似乎它甚至不會編譯。 – ray
另外,'median'函數期望有一個'pix_t'數組,但是您發送的是單個標量值。 – ray