代码
#include <stdio.h>
#include <string.h>
int main(int argc
,char* argv
[])
{
int a
[3]={1,2,3};
int *p
=a
;
printf("%d %d %d\n",a
[0],a
[1],a
[2]);
printf("*p++\n");
printf("addr = %d\n",(int)p
);
*p
++=9;
printf("addr = %d\n",(int)p
);
printf("%d %d %d\n",a
[0],a
[1],a
[2]);
a
[0]=1;
printf("*++p\n");
p
= a
;
printf("addr = %d\n",(int)p
);
*++p
= 9;
printf("addr = %d\n",(int)p
);
printf("%d %d %d\n",a
[0],a
[1],a
[2]);
return 0;
}
输出
1 2 3
*p
++
addr
= 750212780
addr
= 750212784
9 2 3
*++p
addr
= 750212780
addr
= 750212784
1 9 3
结论
*p++=9;等价于 *p=9;p++; *++p=9;等价于 ++p;*p=9;
转载请注明原文地址: https://lol.8miu.com/read-31939.html