void main() {
void strrev(char *);
char *p="GOOd";
strrev(p);
printf("%s",p);
}
void strrev(char *str) {
char temp, *end_ptr;
if(str == NULL || !(*str)) return;
end_ptr = str + strlen(str) - 1;
while(end_ptr > str)
{
temp = *str;
*str = *end_ptr;
*end_ptr = temp; str++;
end_ptr--;
}
}
estoy recibiendo la segmentación de error no puede cualquiera que me ayude encontrar la manera de solucionar el problema ...conseguir "la segmentación falló" error en la implementación de la función strrev
por lo que el intercambio directo en la cadena no es posible? – sarsarahman
@ S.A.Rahman: Lo es, siempre que utilice una forma adecuada de asignar la memoria para la cadena (por ejemplo, 'char p [] =" GOOd "' o 'malloc' /' strdup'). – NPE