*p++与(*p)++,*(p++) 如题,请问*p++与哪个相同阿?有什么区别吗?如果int a[2]={1,3};int *p = a;printf("%d", *p++);请问值是多少? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1*p++与(*p)++,*(p++) 都一样吧,你到VC测试下,一般不要写这样代码。 *p++ 和(*p)++ 一样。*(p++)是下个指针指向的值 不一样吧*p++ 后p指向下一个单元而(*p)++之后p指向没变,p指向的值变了 *p++到底与哪个相同?这里考察到了,优先级、以及结合顺序问题。自增符++与指针符*两者优先级相同,但是结合顺序是自右至左,所以等同于*(p++)int a[2]={1,3};int *p = a;printf("%d", *p++);请问值是多少?输出的值是a[0],然后p自增变成a+1; 如题,请问*p++与哪个相同阿?有什么区别吗?如果int a[2]={1,3};int *p = a;printf("%d", *p++);请问值是多少?输出:1 *p++与(*p)++不一样而是与*(p++)一样:遇到这种 *,++(++其实有两种,写在左面的跟写在右面的),要从右往左读,比如*p++就是p++,然后再引用p,这就导致,下次引用p时p 指向了下一个单元,而(*p)++被括号改变了求值顺序,改变的是p指向的那个单元的值,所以再引用p时p 没变,但单元中的值发生了变化。这些求值顺序的问题各个编译器不同,但好像大多是从右到左,所以好的书写习惯是用括号。 我试验过了,*p++与 *p(++)一样(*p)++是对值++感谢帮助,谢谢,马上散分 如何显示内存中的JPG并转为BMP 有没有这个软件呀。。。。 关于线程对象类静态成员是否保护的一个问题 关于IActiveScriptSite接口的一些问题 请教关于CEDIT的问题 如何用InstallShield安装打印驱动? vc自带的日历控件怎用? 问一个vc调用其他语言做成的com组件的问题 谁能告诉我从哪下载英文计算机论文?我好急哟##··怎没人回复?? MFC中关于修改access数据库数据出现的问题 参数传递问题,本人在线等解 VC中如何为DataGrid 添加列?
*p++与(*p)++,*(p++) 都一样吧,你到VC测试下,一般不要写这样代码。
*(p++)是下个指针指向的值
*p++ 后p指向下一个单元
而(*p)++之后p指向没变,p指向的值变了
这里考察到了,优先级、以及结合顺序问题。
自增符++与指针符*
两者优先级相同,但是结合顺序是自右至左,所以等同于*(p++)int a[2]={1,3};
int *p = a;
printf("%d", *p++);
请问值是多少?输出的值是a[0],然后p自增变成a+1;
如果
int a[2]={1,3};
int *p = a;
printf("%d", *p++);
请问值是多少?输出:1
这些求值顺序的问题各个编译器不同,但好像大多是从右到左,所以好的书写习惯是用括号。
*p++与 *p(++)一样
(*p)++是对值++
感谢帮助,谢谢,马上散分