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--;
}
}
tôi đang nhận được các phân khúc lỗi thất bại bất cứ ai có thể giúp tôi hiểu làm thế nào để sắp xếp nó ra ...nhận được "phân khúc thất bại" lỗi trong việc thực hiện chức năng strrev
để trao đổi trực tiếp trong chuỗi là không thể? – sarsarahman
@ S.A.Rahman: Đó là, miễn là bạn đang sử dụng một cách thích hợp để cấp phát bộ nhớ cho chuỗi (ví dụ: 'char p [] =" GOOd "' hoặc 'malloc' /' strdup'). – NPE