c语言问题
问题一:
#include <stdio.h>
main()
{
int m[12],k;
int *p[3],sum=0;
for (k=0;k<12;k++)
{
m[k]=2*k;
if (k<3)
p[k]=m+2*k*k;
}
for (k=0;k<3;k++)
sum+=(*(p+k))[4-k];
printf("sum=%d\n",sum);
}
问题二:
#include <stdio.h>
int a[5]={0,1,2,3,4};
int *p[5]={a,a+1,a+2,a+3,a+4};
int **pp=p;
main()
{
pp++;
printf("%d,%d,%d\n",pp-p,*pp-a,**pp);
*pp++;
printf("%d,%d,%d\n",pp-p,*pp-a,**pp);
*++pp;
printf("%d,%d,%d\n",pp-p,*pp-a,**pp);
++*pp;
printf("%d,%d,%d\n",pp-p,*pp-a,**pp);
pp=p;
printf("%d,%d,%d\n",pp-p,*pp-a,**pp);
**pp++;
printf("%d,%d,%d\n",pp-p,*pp-a,**pp);
*++*pp;
printf("%d,%d,%d\n",pp-p,*pp-a,**pp);
++**pp;
printf("%d,%d,%d\n",pp-p,*pp-a,**pp);
}
问题三:
#include <stdio.h>
main()
{
char *c[]={"ENTER","NEW","POINT","FIRST"};
char **cp[]={c+3,c+2,c+1,c};
char ***cpp=cp;
printf("%s\n",**++cpp);
printf("%s\n",*--*++cpp+3);
printf("%s\n",*cpp[-2]+3);
printf("%s\n",cpp[-1][-1]+1);
}