C语言 *p++=*(p+n); 是*p=*(p+n) 然后*p+1=*(p+n);
答案:2 悬赏:10 手机版
解决时间 2021-03-02 16:59
- 提问者网友:不爱我么
- 2021-03-02 02:11
C语言 *p++=*(p+n); 是*p=*(p+n) 然后*p+1=*(p+n);
最佳答案
- 五星知识达人网友:天凉才是好个秋
- 2021-03-02 03:08
这个主要是c运算符号优先级的问题()级别最高++,*都是单目运算其次然后是算数运算 的+号最低的是=(赋值运算)好了.我们看看++,*号是同一级别,按右边线结合所以*p++等价于*(p++) 先用p然后p+1,既然是先用p,【难点到了】我们分析下a+=1 等价于a=a+1 先拿a的值,加1后赋值回去所以你的这句话最终等价于*p=*(p+n);p++这2句话.示例代码:#include stdio.h#include conio.hmain(){char a[5]={'a','b','c','d','e'};char *p=&a[0];*p++=*(p+4);printf(%c,%c\n,*p,*(p-1));getch();} 运行结果:b,e
全部回答
- 1楼网友:duile
- 2021-03-02 03:16
感谢回答,我学习了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯