我已经编写了交换字符串的代码,但我无法交换。问题是什么,如何通过使用函数来解决它swap
?
#include <stdio.h>
void swap( char*,char*);
int main()
{
char *ptr[2] = {"hello", "morning"};
swap(ptr[0], ptr[1]);
printf("%s %s", ptr[0], ptr[1]);
return 0;
}
void swap(char *t1, char*t2)
{
char *t;
t = t1;
t1 = t2;
t2 = t;
}
我也尝试过(&ptr[0], &ptr[1])
,但这里显示的是segmentation fault
. 我也做了一个 char, *p1 = ptr[0], char *p1 = ptr[1]
, 然后传递&p1
, 和&p2
to swap
,但我仍然遇到分段错误。