このブログを運営してからどれくらい経ったかわからないが、ようやくよくわからんところがわかった気がする。
というのも、私はC言語が嫌いでずっとPythonばっかり触れてきたものだから、C言語に触れる機会がなかったのだ。
しかし、高専にきて最初のプログラミングの授業では最初はC言語をやらせられるわけだな。
int mainはおまじないじゃねえよ!!
ただ、改めて考えてみたら、main(この部分) ってvoidじゃないパターンあんのなかと思い始めた。
そもそも、ここは引数的なもんだと思うから、ここが空じゃないとしたら、だれが引数を指定するのか?gccなのか?
ということでネットで調べて以下のコードを書いてみた。
#include <stdio.h> int main(int argc, char *argv[]){ if (argc > 1){ printf("%s\n", argv[1]); } else { printf("No input file."); } scanf("\n"); return 0; }
※デスクトップで実行した場合のために最後にscanfを追加している。
とりあえず、だれから引数が渡されるのかというと、ユーザーらしい。当たり前か。コマンドライン引数がここにくるらしい。
ただ、見てほしい。argv[1] !?!? argv[0] には何があるんだよ!!!
ということで以下のようにコードを編集した。
#include <stdio.h> int main(int argc, char *argv[]){ if (argc > 1){ printf("%s\n", argv[0]); printf("%s\n", argv[1]); } else { printf("No input file."); } scanf("\n"); return 0; }
そう、こうやってargv[0]に何があるか強制的に見てやるって作戦だ。
ということでさっそく実行してみたわけだ。
0 件のコメント:
コメントを投稿