- 630 名前:デフォルトの名無しさん [2006/08/15(火) 11:14:03 ]
- #include <stdio.h>
void mystrcpy(char *strA, char *strB); int main(void) { char str1[11], str2[11]; puts("Input str1[11]"); fgets(str1, 10, stdin); mystrcpy(str1, str2); printf("str1 = %s\n", str1); printf("str2 = %s\n", str2); return 0; } void mystrcpy(char *strA, char *strB) { int i; for(i=0; *(strA+i); i++){ *(strB+i) = *(strA+i); } } strcpy関数を自分なりにつくっていたところ、上のようなものができました。 ですがコンパイルして実行すると文字列のコピーはうまくいっているものの、 変な文字列(文字化けした文字)も出力されてしまいます。 どこらへんがおかしいのでしょうか? (環境はWinXPHome、コンパイラがBorland C++ 5.1.1です) また、先週からC言語を勉強し始めたのですが、 ポインタを引数にしたり戻り値として利用するところが自分には少々難しいと感じています。 何かわかりやすい本やウェブサイトがあったら紹介していただけないでしょうか。
|

|