1

コードの抜粋を次に示します。

int main(int argc, char*argv[])
string s;

if (argc == 2)
    argv[1] == s;             //I tried this with and without brackets

else if (argc == 1){
    cout << "Enter a number." << endl;
    cin >> s;
    }
else
    {    
    cout << "Use only one argument" << endl;
    }

cout << s << endl;

ただし、引数 (最初の条件) がある場合は、常に 0 になります。理由を知っている人はいますか?

4

1 に答える 1

2

この行

argv[1] == s;

する必要があります

s = argv[1];

現在のコードは、argv[1]を使用して空の文字列と比較し、==比較結果を破棄します。文字列に最初の引数を取得した後のように見えるsので、割り当てが必要です。

于 2012-11-29T04:00:26.260 に答える