文字列を交換するコードを書きましたが、交換できません。問題は何ですか?関数を使用してどのように解決でき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
swap