当我使用指向反向函数的指针时,当我尝试调用反向函数时,我得到错误,而不是打印它。指针发送错误信息。所以我试图改变一些代码,但它无能为力。
#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;
}