#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は本当に奇妙な動作をしているようです。
この動作は正常ですか?そのヌルは何ですか?なぜargvは、より短い配列を提供するのではなく、nullポインタを作成するのですか?