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/07/06 16:04:02
![c语言中*p++和(*p)++有什么区别?#include void main(){int x=3;int *p,*q;p=&x,q=&x;printf(](/uploads/image/z/2479211-35-1.jpg?t=c%E8%AF%AD%E8%A8%80%E4%B8%AD%2Ap%2B%2B%E5%92%8C%28%2Ap%29%2B%2B%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%3F%23include+void+main%28%29%7Bint+x%3D3%3Bint+%2Ap%2C%2Aq%3Bp%3D%26x%2Cq%3D%26x%3Bprintf%28%22%25d%5Cn%22%2C%2Ap%2B%2B%29%3Bprintf%28%22%25d%5Cn%22%2C%28%2Aq%29%2B%2B%29%3Bprintf%28%22%25d%5Cn%22%2Cx%29%3B%7D%E8%BE%93%E5%87%BA%E7%BB%93%E6%9E%9C%E4%B8%BA%EF%BC%9A3%2C3%2C4%EF%BC%9B%E6%88%91%E7%9C%8B%E4%B9%A6%E4%B8%AD%E8%A7%A3%E9%87%8A%EF%BC%9A%2Ap%2B%2B%EF%BC%9A%E6%98%AF%E5%85%88%E5%8F%96%E5%87%BA%2Ap%E7%9A%84%E5%80%BC%2C%E5%86%8D%E4%BD%BFp%E5%8A%A01%28%2Ap%29%2B%2B%3A%E6%98%AF%E4%BD%BF%2Ap)
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