对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;
        }
    }
 } 

为什么程序运行出来还是会打印argv[0]文件目录名啊?argc不是大于等于1吗?if里面的条件应该不成立啊?为什么会打印呢?求解,谢谢。

argc++;溢出后成为负值,输出