#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *vStrs[] = {"Max", "Moritz", "Bolte", "Hans Huckebein", "Helene", "Antonius", "Boeck", "Maecke", "Lempel", "Schlich"};
int main()
{
int num = sizeof(vStrs) / sizeof(vStrs[0]);
int len = sizeof(vStrs[0]);
char exchnge[len];
char vBuf[128];
char *ndata;
int i, j;
for(i=0; i<num-1; i++)
{
for(j=i+1; j<num; j++)
{
if(strcmp(vStrs[j], vStrs[i]) < 0)
{
strcpy(exchnge, vStrs[j]);
strcpy(vStrs[j], vStrs[i]);
strcpy(vStrs[i], exchnge);
}
}
}
for(i=0; i<num; i++)
printf("%s\n", vStrs[i]);
return 0;
}
Hey guys,
does anyone know why I get a segmentation fault at line strcpy(vStrs[j], vStrs[i]);
?
I have an array of strings and want to sort it. But I get a segmentation fault. The strcpy()-function above that works. What is wrong?
Probably it's obvious but I don't get it.
Thankyou!