したがって、argv [1]をintに変換しようとしなければならないかどうか、またはcharとして残すことができるかどうかはわかりません。しかし、私はそれが欲しいと思うようにargvを動かすのが難しいです。argv [1]をC言語のcharまたはintに格納する
マイ端末入力は次のようになります。ARGV [1] 'A' 又は 'D' のいずれかとすることができる
./a.out a
。
問題:のようなif文を通してそれを渡そうとしたとき:
int main(int argc, char *argv[])
{
char *letter;
letter=argv[1];
printf(" %s %s ", argv[1], letter); //THIS prints correctly
//However, even when the input IS 'a', it will still print this:
if(letter != "a" || letter != "d")
printf("Input letter not 'a' or 'd'\n");
else{//More stuff//}
}
私はそれを自分で解決しようとすると、私はエラーのすべての種類を取得します。私はargv [1] [0]を説明し、atoiを使っていくつかのスレッドを見ましたが、それを使って遊んだ後、私はそれを印刷することができませんでした。
を書くあなたがCまたはC++を使用していますか?彼らは異なる言語で、異なる答えを持っています。違いが具体的でない限り、両方にタグを付けないでください。 – aschepler
申し訳ありませんが、ちょうどCです。タグを削除しました。ありがとうございます! – Marcus
'strcmp'を使って文字列を比較します。ポインタをあなたのやり方と比較しないでください。 –