下記の時、関数copyを作成したいのですが、
関数copyにその都度、違う引数を渡たす為には
どうしたら良いのでしょうか?
教えてください。

#include <stdio.h>

void main()
{
     char a[20]={"ABCDEF"};
char b[20];
copy(a,b);
printf("%s\n",b);
copy(a,&a[3]);
printf("%s\n",buf);
copy(&b[2],dat[5]);
printf("%s\n",dat);
}

このQ&Aに関連する最新のQ&A

CP 値」に関するQ&A: Cp値

A 回答 (3件)

#include <stdio.h>



void cp(char *, char *);

void main()
{
char a[20]={"ABCDEF"};
char b[20]="12";
char *dat="abcdefg";

cp(*&a,b);
printf("%s\n",b);

cp(*&a,&a[3]);
printf("%s\n",a);

cp(&b[2],&dat[5]);
printf("%s\n",b);
}

void cp(char *aa, char *bb)
{
strcpy(aa,bb);
}

結果
12
DEF
12fg
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
参考ソースのみの記述でしたが、
大変良いヒントとなりました。

お礼日時:2002/03/23 20:57

可能性としては、これもありかな?



#include <stdio.h>

void main( int argc, char *argv[] )
{
int count;
char b[20];

for( count = 0; count < argc; count++ ){
printf( " argv[%d] %s\n", count, argv[count] );
}

b[0] = '\0';
printf("kopi mae=(%s)\n",b);

copy(argv[1],b);

printf("kopi ato=(%s)\n",b);
return;
}

#1の方がいうように、質問の情報が足りませんよ~ん。
OSとコンパイラ、どんなことをやりたいのか、あと、あなたのレベル・経験もあればグー etc..
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
開発環境は、Win98・Visual Studio6.0です。
Cは、独学で約2ケ月です。
本当は、もっと長いプログラムを書いてたのですが、
回答者に見やすい様に短いコードを載せてみました。
勉強の為に何通りかの方法で作成し無事完成です。

お礼日時:2002/03/23 21:05

質問の意味がよくわかりません。

どのようなことをしたいのでしょうか?

1.乱数を生成して引数として渡したい
stdlib.hのsrand(), rand()を使えばできます
2.引数の型が固定していない
C++前提ですが、多重定義すればコンパイラがどの関数を呼ぶかを判断してくれます
3.引数の値が固定していないが、大丈夫なのか
大丈夫です

# &a[3]はa+3と書くのが普通だと思います
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
また、言葉足らずの質問ですみません。
関数COPYを多重定義せずに、
関数COPYにおいて実引数の受取方がわかりませんでした。
なので、関数COPYでの処理はなんでも良かったので略したのです。

お礼日時:2002/03/23 20:54

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


人気Q&Aランキング