Попробуйте перевернуть строку с указателями в C

Я получаю сообщение об ошибке, когда использую указатель на реверсивную функцию, когда пытаюсь вызвать реверсивную функцию, а затем распечатать ее. указатель отправить сообщение об ошибке. Поэтому я пытался изменить код, но это было бесполезно.

#include <string.h> 
#include <stdio.h>

char *strrev(char *str)
{
    char *p1, *p2;

    if(!str) {return NULL;}
    printf("%s",__LINE__); //checking
    for (p1 = str, p2 = str + strlen(str) - 1; p2 > p1; ++p1, --p2)
    {
        *p1 ^= *p2;
        *p2 ^= *p1;
        *p1 ^= *p2;
    }
    printf("%s",str);  //checking
    return str;
}

int main(void)
{
    char *str ;
    printf(" Please enter string \n");
    scanf("%s",&str);
    printf("%s\n", strrev(*str));
    return 0;
}
0
задан Jonathan Leffler 7 May 2012 в 03:27
поделиться