n表示的是在命令行下有几个参数,包括可执行文件名即test.exe
如:
test.exe 1 34  输出结果为3
test.exe 1 34 455 输出结果为4

解决方案 »

  1.   

    原因在于你的main的定义:
    void main(int n)在C++中,main的第一个参数表示你的应用程序的参数的个数:
    test.exe 
    你的参数个数为1,所以输出1
    test.exe 任何数
    你的参数个数为2,所以输出2正确的写法:
    int main( int argc, char *argv[ ], char *envp[ ] )
      

  2.   

    自己好好看看msdn吧!
    还没有弄懂参数的意思呢!
      

  3.   

    怎么会是这样的 :(
    我的本意是要通过命令行传递一个int给程序使用,它怎么就变成参数个数了
      

  4.   

    我在msdn里查找main parameter什么都没找到啊
      

  5.   

    传给main的参数是char *argv[ ], 
    如果要得到int;需要自己转化;
    例如:
    if(argc>=2)
     int n = atoi(argv[2]);