极度疑惑!---数组名怎么能被赋值??(但却真的出现了!)
一般说,只有数组元素才能被赋值的,数组名不能被赋值的
但是: 程序的命令行参数就例外(int argc char *argv[])
比如:谭豪强《C程序设计(第二版)》p254
(是不是因为函数库中已有特殊处理了?否则的话,就匪夷所思了!)
#include<stdio.h>
main(int argc, char *argv[])
{
while (argc>1)
{
++argv;
printf("%s\n",*argv);
--argc;
}
}
以上,测试通过。。
但是,一般却不行:
比如:
#include<stdio.h>
main()
{
char *a[]={"aaa","bbb","ccc"};
++a; /* 此处编译当然通不过 !*/
printf("%s\n",*a);
}
(是不是因为函数库中已有特殊处理了?否则的话,就匪夷所思了!)