Я хотел бы напечатать результат оболочки, сортируя массив с 1000 элементами. Функция имеет тип void
, поэтому я хочу знать, как получить значение «возвращено» из функции (на самом деле не вернулось, фактически результат). Это не мой код до сих пор:Печать функции void на языке C
#include "stdafx.h"
#include <stdlib.h>
void shellsort(int v[], int n)
{
int gap, i, j, temp;
for (gap = n/2; gap > 0; gap /= 2)
for (i = gap; i < n; i++)
for (j = i - gap; j >= 0 && v[j] > v[j + gap]; j -= gap)
temp = v[j];
v[j] = v[j + gap];
v[j + gap] = temp;
}
int main()
{
int i;
int my_array[1000];
for (i = 0; i < 1000; i++) {
my_array[i] = rand();
}
shellsort(my_array, 1000);
return 0;
}
, что вы имеете в виду, «печать функция пустота»? функции void не имеют возвращаемого значения, поэтому они не могут вернуть ничего для печати. –
Черт, что вы даже подразумеваете под «напечатать функцию»? – user2357112
Вы, конечно же, не хотите печатать функцию самостоятельно. Поскольку он ничего не возвращает, вы также не можете распечатать его возвращаемое значение. Я предполагаю, что вы хотите распечатать содержимое сортируемого массива, либо до сортировки, либо после, либо и того, и другого. Так и сделайте это. –