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]空字符串进行比较==,并丢弃比较结果。看起来您是在将第一个参数放入 strings之后,所以您需要一个赋值。

于 2012-11-29T04:00:26.260 回答