- ベストアンサー
テキストどおりにうったところ・・・
/cygnus/CYGWIN~1/H-I586~1/bin/../lib/gcc-lib/i586-cygwin32/2.95/../../../../i586 -cygwin32/lib/libcygwin.a(libcmain.o): In function `main': /home/noer/src/b20/comp-tools/devo/winsup/libcmain.cc:38: undefined reference to `WinMain@16' collect2: ld returned 1 exit status こんな文字がでてきてしまって、手に負えません。 いったい、なにを訴えかけているのでしょうか? わかる方がいらっしゃったら教えてください。お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは main() が無いんですね。 #include <string.h> #define SWAP_CHAR(x,y) {char c; c=x; x=y; y=c;} void a(t) char t[]; { int i,j; for (i=0,j=strlen(t)-1; i<j; i++,j--) SWAP_CHAR(t[i], t[j]); } void main(int argc,char *argv[]) { a(argv[1]); puts(argv[1]); } でコンパイルして、 できあがったプログラムを実行する際にプログラム名がprog.exeなら prog abcdefg とか、適当なパラメータを付けてみてください。 パラメータの前後をスワップしてくれると思いますよ。 がんばってください。
その他の回答 (2)
main() 関数がないからですね。 Cでは必ずmain()関数が必要です。
お礼
すみません。無知でして。 またがんばってトライしてみます。
- arukamun
- ベストアンサー率35% (842/2394)
こんにちは どんなプログラムですか。 ソースを補足してください。
補足
#include <string.h> #define SWAP_CHAR(x,y) {char c; c=x; x=y; y=c;} void a(t) char t[]; { int i,j; for (i=0,j=strlen(t)-1; i<j; i++,j--) SWAP_CHAR(t[i], t[j]); } これです。
お礼
お返事遅くなってすみません。 C言語も頑張って勉強して、いつか日本語のようにまでわかるようになりたいです。 それまではこうしてちょこちょこ質問をしたりするかもしれませんが、その時はまた回答していただけたら嬉しいです。