1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
int inverser(void* tab, size_t index1 , size_t index2, size_t size)
{
void* temp_bloc = malloc(size);
if(temp_bloc == NULL)
return 1;
memcpy(temp_bloc, tab + size * index1, size);
memcpy(tab + size * index1, tab + size * index2, size);
memcpy(tab + size * index2, temp_bloc, size);
free(temp_bloc);
return 0;
}
int main(void)
{
int tab[] = {712, 314, -19};
if(inverser(tab, 2 , 0, sizeof(int)) != 0)
return 1;
assert(tab[0] == -19);
assert(tab[1] == 314);
assert(tab[2] == 712);
puts("P A S S E D !");
return 0;
} |
Partager