测试的代码如下:
#include "stdafx.h"
#include "stdio.h"
#include <stdlib.h>
int _tmain(int argc, _TCHAR* argv[])
{
int a[50]={0,0,0,0};
int *p;
p=a;
int k1,k2,k3;
//测试第一部分
printf("%d\n",p);
*p++=10;
printf("%d\n",p);
<span style="color:#ff0000;"> printf("%d\n",a[0]);//这里不用*p来读取数值是因为p的值已经改变,只好用a[0]来实现。</span>
printf("%d\n",a[1]);
//测试第二部分
int b[5]={1,2,3,4,5};
int *q;
q=b;
k1=*q++;
q=b;
k2=(*q)++;
q=b;
k3=*(q++);
printf("k1的值是%d\n",k1);
printf("k2的值是%d\n",k2);
printf("k3的值是%d\n",k3);
return 0;
}
*p++=10;
实现的是将10赋值给*p后p在自增1,也就是使得a[0]的值为10,