#include <iostream.h>void main(int argc,char *argv[])     //argv[i]为一个指针
{
int i=0;
while(argv[i]!="\0")
{
cout<<"The num "<<i+1<<" argument is "<<argv[i]<<endl;
i++;
}
}///////////////
这段程序从理论上说应该没有问题吧,可是在Ctrl+F5后,弹出这样的提示:
“0x00404350"指令引用的"0x00000000"内存。该内存不能为"read".
 要终止程序,请单击“确定”。
 要调试程序,请单击“取消”。
//////////////
如果单击“确定”,会在Dos窗口中显示如下执行结果:
The num 1 argument is F:\vc\1\debug\cpp1.exe   //我的目的是自己给main函数提供参数,可这行参数是哪来的呢?
Press any key to continue

解决方案 »

  1.   

    理论上就有问题
    第一个参数argv[0]是你的程序,所以是F:\vc\1\debug\cpp1.exe
    为什么用while循环呢?用for就可以了。argc就是参数个数啊
      

  2.   

    最不可理解的就是argv[i]!="\0",怎么看都别扭啊,哈哈
      

  3.   

    你的参数呢?在debug中的program argument中填入参数
      

  4.   

    你的参数呢?在debug中的program argument中填入参数
    //////////////////////////////////////////////
    说的是 debug 菜单下的 program argument 吗?没找到这个选项,请再指教。。
      

  5.   

    //////////////////////////////////////////////
    说的是 debug 菜单下的 program argument 吗?没找到这个选项,请再指教。。
    //////////////////////////////////////////////project - setting - debug - program argument