Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 打印20个ARGV[]值我得到这个输出请解释原因?_C++_C - Fatal编程技术网

C++ 打印20个ARGV[]值我得到这个输出请解释原因?

C++ 打印20个ARGV[]值我得到这个输出请解释原因?,c++,c,C++,C,当我打印argv值20次时,我得到如下所示的输出,为什么?请解释一下 int main(int argc,char **argv) { int i; for(i=0;i<20;i++) printf("%s\n",argv[i]); } 您遇到了未定义的行为:仅允许您访问argv[0]…argv[argc],其中最后一个条目是空指针。从外观上看,环境存储在argv的数组之后,但根本无法保证这一点。读取argv之外的数据时的行为[argc]未定义。任何事情都有

当我打印argv值20次时,我得到如下所示的输出,为什么?请解释一下

int main(int argc,char **argv)
{
    int i;
    for(i=0;i<20;i++)
       printf("%s\n",argv[i]);
}

您遇到了未定义的行为:仅允许您访问argv[0]…argv[argc],其中最后一个条目是空指针。从外观上看,环境存储在argv的数组之后,但根本无法保证这一点。

读取argv之外的数据时的行为[argc]未定义。任何事情都有可能发生。系统显示为打印出环境变量;其他人可能会崩溃。恭喜你遇到了未定义的行为!argc有存在的理由。。。在C数组中,绑定检查是程序员的责任。对于堆栈溢出问题,您最好学习它,为C命中未定义的行为会半自动地得到-1。。。很抱歉
 ./a.out a

 a

 ./a.out

 a

 (null)

 SHELL=/bin/sh

 TERM=xterm-color

 USER=root

 SUDO_USER=hari

 SUDO_UID=501

 SSH_AUTH_SOCK=/tmp/launch-Jm4kQ0/Listeners

 __CF_USER_TEXT_ENCODING=0x0:0:0

 USERNAME=root

 PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Applications/gedit.app:/Users/hari/Downloads/gradle-1.9/bin:/usr/X11/bin
 PWD=/Users/hari/Desktop/Cerner/Pointer
 SHLVL=1
 SUDO_COMMAND=/usr/bin/su
 HOME=/var/root
 LOGNAME=root
 LC_CTYPE=UTF-8
 SUDO_GID=20
 DISPLAY=/tmp/launch-DMwOKd/:0