0
int main(int argc, char *argv[])
{
    cout << strcmp(argv[1], "id");
    return 0;
}

false を返します。私は何が欠けていますか?

ありがとうございます。4分以内に回答を受け付けます。

4

3 に答える 3

7

strcmp比較される c-string が等しい場合は 0 を返します。0 == false、したがって、実際に機能しています。

于 2012-05-05T16:11:22.407 に答える
2

strcmp2 つの文字列が等しい場合は 0 を返します。

ヒント: 範囲外の配列の例外 (セグメンテーション違反) を回避するには、次を使用します。

if (argv < 2) return 0;
于 2012-05-05T16:11:35.797 に答える
0

argv[1] を出力するだけで開始する方が簡単です。

cout << argv[1] << endl;

次に、argv[1] で取得している値を確認し、そこから取得できます。あなたのコードには何の問題もないので、正しい argv[1] パラメータを渡すように IDE を適切に構成していないと思います。

上でコメントしたように、false ではなく 0 を取得する必要があります。

于 2012-05-05T16:11:47.133 に答える