use*_*079 1 c arrays string pointers argv
#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);
}
Run Code Online (Sandbox Code Playgroud)
编译好,在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)
Run Code Online (Sandbox Code Playgroud)
我故意让一个白色空间逃脱,argv似乎表现得非常奇怪.
这种行为是否正常?什么是null?为什么argv创建一个空指针而不是只提供一个更短的数组?