Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
569 views
in Technique[技术] by (71.8m points)

reverse string using c using pointers?

I am trying to reverse string using pointers and not using standard library.

Can someone please tell why is this not working?

int main()
{
    int length_str;
    char str[50];
    char *rev;
    fgets(str,50,stdin);
    length_str = find_length(str);
    printf("length of string is : %d",length_str);
    reverse_string(str,rev);
    puts(rev);
    getch();
    return 0;
}

void reverse_string(char *str,char *rev)
{
    int length_str=find_length(str);
    while(length_str!=0)
    {
        *rev=*(str+length_str-1);
        rev++;
        length_str--;
    }
    *rev='';
}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You forgot to allocate memory for the string rev .


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...