コマンドライン引数

未分類

C言語を使っていて、躓いたことがある。もちろん、ポインタも難しい論点だが、いくら検索しても出てこない、ほかに言及のないことについて悩んだ。

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char ch = ‘a’;
printf(“%d\n”, ch);

return 0;
}

97 が出力される。

しかし、次を実行すると、そうはいかない。

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
printf(“%c\n”, argv[1]);

return 0;
}

出力なし

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char ch = (char)argv[1];
printf(“%c\n”, ch);

return 0;
}

./a.out a

97が出力される。