c++ 中指针内容自己发生变化

来源:百度知道 编辑:UC知道 时间:2024/05/27 22:55:40
单步执行时发现没有执行语句和该指针无关 但每执行一步指针内容都发生变化 是什么原因
# include <iostream.h>
<br># include <stdlib.h>
<br>void swap(int *a,int *b)
<br>{
<br> int temp;
<br> temp=*a;
<br> *a=*b;
<br> *b=temp;
<br>}
<br>void order(int *pi)
<br>{
<br> for(int pass=1;pass<10;pass++)
<br> {
<br> for(int i=0;i<10-pass;i++)
<br> {
<br>
<br> if( *pi>*(++pi))
<br> swap(pi,(++pi));
<br> else
<br> pi++;
<br> }
<br>
<br>
<br> }
<br>}
<br>
<br>void main ()
<br>{
<br> int *p,*q;
<br> p=new int[10];
<br> q=p;
<br> for(int i=0;i<=9;i++,p++)
<br> {
<br>
<br> *p=rand()%100;
<br> }
<br> for(i=

晕,,,
<br>swap(pi,(++pi));还和指针没关啊.....
<br>使用++的时候一定要注意你的目的,如果是为了使用++后的值就不要用++,如果又要访问又要增加再用++

程序错的原因已经在给你发的短信息中说清了,你仔细看看

要看具体程序才能分析问题啊。

c++ 中指针内容是会发生变化,它的内容是指针所指向的地址的数值.

如果问题很难发现的话,可能是其他的数组越界了。