对argc argv的理解(入门)


#include 
int main (int argc,char* argv[])
{
    printf("%d\n",argc);
    while(1)
    {
        argc++;
        if(argc<0)
        {
            printf("%s",(char *)argv[0]);
            break;
        }
    }
 } 

argc不是大于等于1吗?为什么还会打印argv[0]呢?不应该是死循环吗?求解,谢谢。

这是谁写的代码?不是正规代码吧?
这是用来耍的代码,argc++,一直加到int型溢出为负数,if(argc < 0)才成立,循环才能结束

不会死循环的,int不断增加溢出后变负数,会进入if的

  • 关于该问题,我找了一篇非常好的博客,你可以看看是否有帮助,链接:argc,argv是什么