получение ошибки «ошибка сегментации» в реализации функции strrev

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--; 
    } 
}

я получаю ошибку сегментации не удалось, кто-нибудь может мне помочь, как с этим разобраться ...

5
задан Joe 9 December 2011 в 16:12
поделиться