8年前c言語のコマンドライン引数を使った文字の判別のプログラムです。自分で書いたプログラムではセグメンテーション違反になってしまいます。どこがおかしいでしょうか?下に正しい実行例をのせておきます。8年前codeタグの使い方が正しくありません。プレビューで確認してから書き込みしてくださいね。想定外のオプション引数を入力した場合にエラー出力だけして終了していないためiが不定値になります。argv[2];の部分ではないでしょうか?ちょっとうろ覚えですが、argv[2]はchar*型ですからchar型には入れられない(...はず)です。Cだと途中で変数の宣言はできないはずですのでコンパイルも通らないと思うのですがそんなことはありません。うろ覚えですが、argv[2]はchar*型ですからchar型には入れられない(...はず)です。8年前そうなんですか...やはりうろ覚えで答えるものではありませんね。Cだと途中で変数の宣言はできないはずですのでコンパイルも通らないと思うのですがそんなことはありません。うろ覚えですが、argv[2]はchar*型ですからchar型には入れられない(...はず)です。前者はC99の場合は、ということでしょうが、後者はどういう意味でしょうか?編集:だぶりましたか。Cだと途中で変数の宣言はできないはずですのでコンパイルも通らないと思うのですがそんなことはありません。うろ覚えですが、argv[2]はchar*型ですからchar型には入れられない(...はず)です。前者はC99の場合は、ということでしょうが、後者はどういう意味でしょうか?前者については、C99以降ですので、現行規格のC11でも可能ですね。後者についてですが、ポインタ型の値は整数型に暗黙的に型変換されますので、代入可能です。セマンティックスが正しいかどうかは文脈次第です。8年前たかぎさん了解です。char*の区別がされてません。あっちこっちに間違いがあります。strcmpを使います。ミクプラは自由にリンクできます。