c语言中*p++和(*p)++有什么区别?#include void main(){int x=3;int *p,*q;p=&x,q=&x;printf("%d\n",*p++);printf("%d\n",(*q)++);printf("%d\n",x);}输出结果为:3,3,4;我看书中解释:*p++:是先取出*p的值,再使p加1(*p)++:是使*p

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 22:59:51
c语言中*p++和(*p)++有什么区别?#include void main(){int x=3;int *p,*q;p=&x,q=&x;printf(

c语言中*p++和(*p)++有什么区别?#include void main(){int x=3;int *p,*q;p=&x,q=&x;printf("%d\n",*p++);printf("%d\n",(*q)++);printf("%d\n",x);}输出结果为:3,3,4;我看书中解释:*p++:是先取出*p的值,再使p加1(*p)++:是使*p
c语言中*p++和(*p)++有什么区别?
#include
void main()
{
int x=3;
int *p,*q;
p=&x,q=&x;
printf("%d\n",*p++);
printf("%d\n",(*q)++);
printf("%d\n",x);
}
输出结果为:3,3,4;
我看书中解释:*p++:是先取出*p的值,再使p加1
(*p)++:是使*p的值加1.
所以我觉得是:3,4,4

c语言中*p++和(*p)++有什么区别?#include void main(){int x=3;int *p,*q;p=&x,q=&x;printf("%d\n",*p++);printf("%d\n",(*q)++);printf("%d\n",x);}输出结果为:3,3,4;我看书中解释:*p++:是先取出*p的值,再使p加1(*p)++:是使*p
我看书中解释:*p++:是先取出*p的值,再使p加1
//p是个指针,给p加1,相当于让p指向了x所在地址的下一个位置,而对于x则是没有任何影响
(*p)++:是使*p的值加1.
//*p则是p指向的位置对应的值,题目中是*q,所以此时的*q就是x的值,为3,当输出*q之后,再给*q即x自加1,所以x就变为4