1. #include<stdio.h>
2. main()
3. {
4. int i;
5. char *name[]={"File","Edit","Write","Read","Exit"};
6. char **p;
7. p=name;
8. for(i=0;i<5;i++)
9. {
10. printf("%s\t", **p);
11. p++;
12. }
13. printf("\n");
14. }
这样写没有运行结,而如果将第十行**p改为*p则运行正确,这是为什么呢?
%c 对应 **p
%s 对应 *p
printf("%s\t",*p);
一个星号
要定义为指针数组:
char *name[]={"File","Edit","Write","Read","Exit"};
p是二级指针,就是指针变量的指针。*p是字符指针,和%s格式相对应。