- 259 名前:デフォルトの名無しさん mailto:sage [2007/10/26(金) 16:17:50 ]
- >>247
元のプログラムではポインタ変数は仮引数なので呼び出し元に結果が反映されない #include <stdio.h> void namesplit(char [], char **, char **); int main(void){ char full[200]; char *pt_sei, *pt_mei; printf ("姓/名で入力せよ:"); scanf("%s", full); namesplit(full, &pt_sei, &pt_mei); printf("姓:%s\n 名:%s\n", pt_sei, pt_mei); return 0; } void namesplit(char f[], char **pt_s, char **pt_m) { /*pt_sとpt_mをfの先頭アドレスにセット*/ *pt_s = f; *pt_m = f; /*スラッシュまでpt_mを移動*/ while (**pt_m != '/') (*pt_m)++; **pt_m = '\0'; (*pt_m)++; /*これで、pt_seiとpt_meiはそれぞれ姓と名を指す場所に移動した?*/ }
|

|