#include <stdio.h>
int main(int argc, char* argv[]){
printf("argc: %d\n",argc);
for(int i=0;i<sizeof(argv);i++){
printf("argv[%d] %s\n",i,argv[i]);
}
return(0);
}
在 GNU/linux 发行版下的 gnome 终端下使用它时编译得很好
printTest one\ two three
argc: 3
argv[0] /data/local/tmp/printTest
argv[1] one two
argv[2] three
argv[3] (null)
我故意留下一个空白空间,而 argv 似乎表现得很奇怪。
这种行为正常吗?那是什么 null ?为什么 argv 创建一个空指针而不是仅仅提供一个较短的数组?