基本代码:
char *args[3] = {NULL};
args[0] = "ls";
args[1] = "-l";
args[2] = NULL;
为什么会 :
int execution = execlp("ls", args[0], args[1], NULL);
不引起警告,并且:
int execution = execlp("ls", args[0], args[1], args[2]);
引起警告:函数调用中缺少哨兵?
注意:我知道两者是相同的,但我只是好奇为什么一个会引起警告而不是另一个。