以下是代码的摘录。
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.任何人都知道为什么?
答案 0 :(得分:2)
这一行
argv[1] == s;
应该是
s = argv[1];
您当前的代码使用argv[1]
将==
与空字符串进行比较,并丢弃比较结果。看起来你是在第一个参数进入字符串s
之后,所以你需要一个赋值。