このソースコードはどうゆう動きをしているんですか?
char* my_strcpy(char* s1, char* s2);の中の内容がわからないのですが教えてください。
#include <stdio.h>
#include <assert.h>
char* my_strcpy(char* s1, char* s2);
int main(void)
{
char str1[10];
char str2[10]="abcde";
my_strcpy( str1, str2 ); puts( str1 ); my_strcpy( str1, "xyz" ); puts( str1 ); return 0;
}
/*
自作 strcpy関数
引数:
s1: コピー先のアドレス。コピーされる文字数以上の領域が必要。
s2: コピー元のアドレス。終端に '\0' が必要。
戻り値:
s1 と同じアドレス。
/
char my_strcpy(char* s1, char* s2)
{
int i;
assert( s1 != NULL ); assert( s2 != NULL ); for( i=0; s2[i] != '\0'; ++i ){ s1[i]=s2[i]; } s1[i]='\0'; return s1;
}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/20 11:54
2020/03/20 12:01
2020/03/20 12:21