我在 C 语言中编写了这个函数来反转字符串,但是当在字符串中切换字符时程序崩溃了。我不知道是什么原因造成的,因此我们将不胜感激。
void reverse(char s[])
{
char c;
int i;
int j;
for (i = 0, j = (strlen(s) - 1); i < j; i++, j--)
{
c = s[i];
s[i] = s[j]; //An error occurs here
s[j] = c;
}
printf("%s", s);
}
main()
{
reverse("Example");
}
最佳答案
阅读此了解更多信息 What is the difference between char s[] and char *s?
这应该可以解决它。
main()
{
char array[] = "Example";
reverse(array);
}
当你执行 reverse("Example")
时,这与
char *string = "Example";
reverse(string) //wont work
链接应该可以澄清您的疑虑。
关于c - C中反转字符串的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22069759/