ID非公開

2022/1/24 22:30

22回答

文字列sの最初のn文字を文字列tの後ろにコピーする関するmystrncat(s,t,n)をポインタを用いて作成せよ(添字演算子なしで作成せよ).指定した文字数nが,

C言語関連71閲覧

ベストアンサー

1

1人がナイス!しています

ID非公開

質問者2022/1/25 0:19

すいません質問を補足しようとして取り消しを押してしまったんです、、もう一度回答してくれることを願って再掲載させていただきました。

その他の回答(1件)

0

(しがない大学生さん) >指定した文字数nが, 文字列tの文字数を超える場合は文字列sの後ろに文字列tをコピーするようにすること ↑よくわからん 「指定した文字数nが文字列sの文字数を超える場合は文字列tの後ろに文字列sをコピーするようにすること」 じゃないのか? 例:(私の解釈による) #include <stdio.h> void mystrncat(char *s,char *t,int n){ while(*t)t++; while(!(*s=='\0' || n<1)){ *t= *s; t++; s++; n--; } *t='\0'; } int main(void){ char t[128]; char s[128]; int n; printf("文字列 t: "); scanf("%s",t); printf("文字列 s: "); scanf("%s",s); printf("文字数 n: "); scanf("%d",&n); mystrncat(s,t,n); printf("実行結果: %s\n",t); return 0; } ~~~~~~~~~~~~~~~~~~~~~~~~~ 文字列 t: le3f755s-o!kupp 文字列 s: abcdefg 文字数 n: 3 実行結果: le3f755s-o!kuppabc 文字列 t: le3f755s-o!kupp 文字列 s: abcd 文字数 n: 7 実行結果: le3f755s-o!kuppabcd

ID非公開

質問者2022/1/25 0:20

ありがとうございます、参考にさせていただきます!