int *P[6]={11,22,33,44,55,66};
int n=6,i;
int **P1=P;
for(i=0;i<n;i++)
cout<<*P1++<<" ";
cout<<endl;
P1=P;
for(i=0;i<n;i++)
cout<<**P1++<<" ";
这样写为什么是错误的?
int *P[6];
int n=6,i;
int **P1=P;
for(i=0;i<n;i++)
p[i]=i;(这儿也是错误的,改为p[i]=(int *)i则最后一句输出时错误的)
for(i=0;i<n;i++)
cout<<*P1++<<" ";
cout<<endl;
P1=P;
for(i=0;i<n;i++)
cout<<**P1++<<" ";
请问这些错误都是为什么?
int *P[3];
int x1,x2,x3;
cin>>x1>>x2>>x3;
P[0]=new int(x1);
P[1]=new int(x2);
P[2]=new int(x3);
int n=3,i;
int **P1=P;
for(i=0;i<n;i++)
cout<<*P1++<<" ";
cout<<endl;
P1=P;
for(i=0;i<n;i++)
cout<<**P1++<<" ";
则又是正确的,请详细说明一下。
而且对于char *p[6]={"Orange","Pear","Banana","Peach","Apple","Guava"}
就是可以的。为什么?