- 289 名前:デフォルトの名無しさん [2007/11/08(木) 17:33:36 ]
- 教えてください。
void swap_ptr(char **a, char **b) { char *temp; temp = *a; *a = *b; *b = temp; } int main(void) { char *str_a = "ABC"; char *str_b = "123"; swap_ptr(&str_a, &str_b); printf("str_a=%s str_b=%s\n", str_a, str_b); return 0; } ↑のは正常に文字列の入れ替えが出来ます。 ならば void swap_ptr(char **a, char **b) { char *temp; *temp = **a; **a = **b; **b = *temp; } にしたら先頭の一文字だけ交換されるのか・・・と思ったら、交換されない上Warningまで出ます。 何がおかしいのでしょうか?
|

|