can’t figure out the issue on this code:
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
int sort(int32_t *in, int size){
int i, j;
int32_t buff;
int swaps=0;
for(i=1;i<size;i++){
for(j=0;j<i;j++){
if(in[i]<in[j]){
buff = in[j];
in[j]=in[i];
in[i]=buff;
swaps++;
}
}
}
return swaps;
}
int32_t main(){
int32_t *buff;
char c = 'a';
int32_t *input_array;
int size = 0,i,j,runs;
/*tratamento de entrada*/
scanf("%d",&runs);
int swaps[runs];
while(getchar()!='\n');
for(i=0;i<runs;i++){
scanf("%d",&size);
while(getchar()!='\n');
input_array =(int32_t*) malloc(size * sizeof(int32_t));
for(j=0;j<size;j++){
c = getchar();
buff = (int32_t*) calloc(1,sizeof(int32_t));
/*processamento de strings em números */
while(c != ' '&& c != '\n'){
*buff = *buff*10;
*buff += c-48;
c = getchar();
}
/*armazenamento do inteiro em um array*/
input_array[j] = *buff;
free(buff);
if( input_array == NULL)
return -1;
}
swaps[i]=sort(input_array, size);
/*Liberando memória*/
free(input_array);
}
for(i=0;i<runs;i++){
if(i!=0)
printf("\n");
printf("%d ",swaps[i]);
}
return 0;
}