- ベストアンサー
自作関数について
下記の時、関数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); }
- みんなの回答 (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
その他の回答 (2)
- j_euro
- ベストアンサー率25% (29/115)
可能性としては、これもありかな? #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..
お礼
回答ありがとうございました。 開発環境は、Win98・Visual Studio6.0です。 Cは、独学で約2ケ月です。 本当は、もっと長いプログラムを書いてたのですが、 回答者に見やすい様に短いコードを載せてみました。 勉強の為に何通りかの方法で作成し無事完成です。
- zzzzzz
- ベストアンサー率61% (70/113)
質問の意味がよくわかりません。どのようなことをしたいのでしょうか? 1.乱数を生成して引数として渡したい stdlib.hのsrand(), rand()を使えばできます 2.引数の型が固定していない C++前提ですが、多重定義すればコンパイラがどの関数を呼ぶかを判断してくれます 3.引数の値が固定していないが、大丈夫なのか 大丈夫です # &a[3]はa+3と書くのが普通だと思います
お礼
回答ありがとうございました。 また、言葉足らずの質問ですみません。 関数COPYを多重定義せずに、 関数COPYにおいて実引数の受取方がわかりませんでした。 なので、関数COPYでの処理はなんでも良かったので略したのです。
お礼
回答ありがとうございました。 参考ソースのみの記述でしたが、 大変良いヒントとなりました。