ich nicht in der Lage bin, die Ursache der Segmentierungsfehler zu lokalisieren Ziel-umkehren einen String ZeigerLage von Segmentierungsfehler
#include<stdio.h>
#include<string.h>
void swap(char *ptr[], int c)
{
int i;
char *r[40];
for(i=0; i<c; i++)
*(r[c-i]) = *(ptr[i]);
printf("%s",*r);
}
main()
{
int i;
char *ptr[20],str[40];
printf("enter string:");
gets(str);
for(i=0; i<(strlen(str)); i++)
ptr[i]=&(str[i]);
swap(ptr,strlen(str));
}
Ich weiß nicht, warum Sie ein Array verwenden von String-Zeiger, aber trotzdem sollte 'r [ci]' 'r [ci-1] sein, wenn' c' die Array-Länge ist. Und dann machst du den klassischen "Heuler", indem du die Charaktere * zweimal * austauschst, anstatt in der Mitte zu bleiben. –
Mögliches Duplikat von [Definitive Liste gemeinsamer Gründe für Segmentierungsfehler] (http://stackoverflow.com/questions/33047452/definitive-list-of-common-reasons-for-segmentation-faults) – CodeMouse92