这么写
#include<stdio.h>
void reverse(char* s)
{
// 获取字符串长度
int len = 0;
char* p = s;
while (*p != 0)
{
len++;
p++;
}
// 交换 ...
int i = 0;
char c;
while (i <= len / 2 - 1)
{
c = *(s + i);
*(s + i) = *(s + len - 1 - i);
*(s + len - 1 - i) = c;
i++;
}
}
int main()
{
char s[100];
scanf("%s",s);
reverse(s); // 反转字符串
printf("%s", s);
return 0;
}
第5行只申请了一个字节空间,肯定不够啊
char *str = (char*)malloc(1000*sizeof(char));
申请1000个字节吧,大一点才够用
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!