#include <iostream>
using namespace std;
int main(int argc, char* argv[]) {
int i;
i = 1;
while (i < argc) {
cout << argv[i] << endl;
i = i + 1;
}
}
Run Code Online (Sandbox Code Playgroud)
命令行参数列为bfi
我只是学习argc和argv,但据我所知,argc是从命令行传递的参数数量(本例中为3),而argv是这些参数的数组,在这种情况下为[bfi].所以使用它,我直觉地认为这个循环应该输出argv [1],然后是argv [2],然后终止.因此最终的输出是:
F
一世
但是,给出的解决方案是:
b
F
一世
哪个让我感到困惑.有人能够解释我的思维过程出错吗?
我有一些基本的代码,我没有抓住以下行为:
L = [ 'a', 'bb', 'ccc' ]
L.append(range(2))
print len(L)
print len(L + range(1))
print len(L)
Run Code Online (Sandbox Code Playgroud)
其输出是
4
5
4
Run Code Online (Sandbox Code Playgroud)
这让我感到困惑,因为我的思维过程是初始列表的长度是3,并且追加range(2)到末尾会使它达到5的长度.因此我期望输出为5 6 5.我确定这是一个简单的怪癖,但我有点失落,并且有一段时间试图在网上找到答案.有人能指出我正确的方向吗?