#include<stdio.h>
int main()
{
static char *s[]={"black","white","pink","violet"};
char **ptr[]={s+3,s+2,s+1,s},***p;
char a[]={"DEAD"};
p=ptr;
++p;
printf("%c\n",a[0]);
printf("%s\n",*s); //black
printf("%s\n",*s+1); //lack
//printf("%s\n",s+1);
printf("%s\n",s[0]);//black
printf("%s\n",s[1]);//white
printf("%s\n",s[2]);//pink
printf("%s\n",s[1]);//violet
printf("%s\n",s[1]+1);//hite
printf("%s\n",s[1]+6);//pink
printf("%s\n",**p+1); // how does this prints ink
return 0;
}
輸出:指針增量
d黑缺乏黑白色粉白色海特粉紅色墨水
請幫助瞭解
'炭一個[] = { 「DEAD」};'看起來可疑 – knittl
@knittl:'炭一個[] = { 「DEAD」 };'是好的:'{}'是多餘的,不是可疑的:-) – pmg
@pmg:我對C中數組初始化符的理解有點生疏,但是我期望一個字符數組被初始化爲'= {'c'}',或者一個帶'= {「DEAD」}'的字符指針數組。 – knittl