如果我在 Visual Studio 2013 下编译此代码
int main(int argc, char* argv[])
{
std::cout << "arg count: "<< argc << "/n";
}
然后在没有附加参数的情况下运行它(即>program.exe),它会输出
arg count: 1
它输出 1 个参数 (>program.exe arg1)
arg count: 2
但这就是奇怪的地方。如果我输入(>program.exe arg1 arg2)它输出
arg count: 2
“arg count”应该是3,不是吗?
使用 (>program.exe arg1 arg2 arg3) 它输出
arg count: 2
在这种情况下应该是 4...
出于某种原因,打印 argv[3] 可以正常工作。
为什么会这样?