1 #include <stdio.h>23 int main(int argc, char **argv)4 {5 int i=0;6 for(i=0;i<argc;i++){7 printf("%s\n",*(argv+i));8 }9 printf("%d\n",argc); 10 printf("%s\n",*argv); 11 12 return 0; 13 }
执行./testcc the boy is clever 结果:
./testcc the boy is clever 5 ./testcc
你做对了吗,如果没有,请继续。
首先:argc参数是用来计算函数的参数个数的,包括函数名自身也算一个,如果还有就继续增加一个,这里函数名为testcc,因此argc为函数名称加上the boy is clever,相加就行
接着:循环中将所有的参数输出出来,自然是包含执行函数的函数名称
然后:第9行的结果为5应该是正常的
再接着:第10行如果理解的不够好,可以将*argv写成*(argv+0),就很容易理解是吧
最后,就可以愉快利用这个特性了,如果项获得is,将第10行改为*(argv+3)即可。
你学废了吗。