C で使用可能な文字列関数の実装のいくつかを書き出そうとしていました。私のコードは次のとおりです。
#include <stdio.h>
#include <stdlib.h>
char *mystrcpy(char *s1, char *s2)
{
while(*s1++ = *s2++);
return s1;
}
int mystrlen(char *s)
{
int len = 0;
while(*s != '\0')
{
len++;
}
return len;
}
int main(void)
{
char arr = "Hi";
char arr1[10];
char arr2[] = "Hello";
int length;
mystrcpy(arr1, arr2);
printf("%s", arr1);
length = mystrlen(arr);
printf("%d", length);
return 0;
}
mystrcpy
正常に動作しますが、他のメソッドmystrlen
は実行されません。エラーは何ですか?以下は、プログラムの終了メモです。
プロセスはステータス -1073741510 (0 分 4 秒) で終了しました
また、キャストに関する警告もほとんどありません。キャストを使用する必要があるコード内の場所はありますか?