• 締切済み

末尾にコピーするプログラム

大学で 「main関数でキーボードからの2つの文字数を受け取り、関数を実装し仮引数に文字列s1、文字列s2をとり、s2をs1末尾にコピー(s1とs2を連結)するプログラミングを作成しなさい」 void cat(char *s1,char *s2) という問題がありました。以下、その回答を考えたのですがこれで大丈夫ですか? #include <stdio.h> void cat(char *s1, char *s2); void main(void); void cat(char *s1, char *s2) { while ((*s1++ = *s2++) != '\0') ; } void main(void) { char s1[100]; char s2[100]; printf("一つ目の文字列を入力してください。:",s1); scanf("%s",s1); printf("二つ目の文字列を入力してください。:",s2); scanf("%s",s2); cat(s1, s2); printf("コピー後: = %s\n", s2); }

みんなの回答

  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.2

動かしてみましたが、求める答えは得られません。 どこが間違っているかチェックしてみてください。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「main関数でキーボードからの2つの文字数を受け取り、関数を実装し仮引数に文字列s1、文字列s2をとり、s2をs1末尾にコピー(s1とs2を連結)するプログラミングを作成しなさい」 と void cat(char *s1,char *s2) の関係がさっぱりわからんのだが, それはさておき自分で確かめないのでしょうか?

関連するQ&A