あなたの習慣について教えてください!!

ご教授お願い致します。

strcpy(),strcat(),strcmp()
上記3つの標準関数と同じ機能を持った関数をポインタを使用してプログラム作成

関数名
(1)*u_strcpy
(2)*u_strcat
(3)*u_strcmp



strcpy()は

char *u_strcpy(char *s,char *t)
{
char *p=s;
while(*s++=*t++)
return p;
}
void main(void)
{
char x[10],y[10];
scanf("%s %s",x,y);
printf("%s\n",u_strcpy(y,x));
}

で正常に動いたので大丈夫だと思いますが他2つがわかりません。

A 回答 (3件)

> char *u_strcpy(char *s,char *t)


> {
> char *p=s;
> while(*s++=*t++)
> return p;
> }

間違っています。
実際に試してみればわかりますが、最初の一文字しかコピーされません。
しかも、t[0]がナル文字の場合、返却値は不定になります。
    • good
    • 0

「ベストアンサー」としておきながら無視か.



どうせ, その u_strcpy も説明できないんだろ?

参考URL:http://oshiete.goo.ne.jp/qa/7064759.html
    • good
    • 0

「何が、どう」わからないのかを補足してください。


まずはstrcatとstrcmpが「どういう挙動を示す関数か」を理解しているか、というところから。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!