黑马程序员技术交流社区

标题: *p++,(*p)++,*++p,++*p的区别 [打印本页]

作者: 晗修    时间: 2015-6-4 12:20
标题: *p++,(*p)++,*++p,++*p的区别
       int a[5] = { 2,4,6,8,10 };
       int *p = a;
a)    *p++
先取指针p指向的值(数组第一个元素2),再将指针p自增1(此时p指向了数组第二个元素4);
*p++的输出结果为2;
但是此时再输出*p 结果为4;
b)  (*p)++
先取指针p指向的值(数组第一个元素2),再将该值自增1(数组第一个元素变为3);
输出结果为2;
但是此时再输出*p 结果为3;
c)    *++p   
先将指针p自增1(此时指向数组第二个元素4),* 操作再取出该值;
输出结果为4;
再次输出*p结果也为4;
d)    ++*p  
先取指针p指向的值(数组第一个元素2),再将该值自增1(数组第一个元素变为3);
输出结果为3;
再次输出*p结果依旧为3;


作者: yi95392    时间: 2015-6-4 18:44
总结的不错
作者: talent123    时间: 2015-6-4 19:02
总结的不错
咱好好写括号 还是好朋友
作者: evenzhu1989    时间: 2015-6-4 19:25

作者: 鬼崇祟    时间: 2015-6-4 21:31
不错  很详细  
作者: 追随自然    时间: 2015-6-4 23:43
总结的挺好的,这点很容易晕
作者: 马贺飞    时间: 2015-6-8 13:59
哦了,看明白了
作者: luguo    时间: 2015-6-8 18:24
看懂了,有用
作者: 这是829    时间: 2015-6-8 23:46
围观学习,挺好的,总结的很好啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2