while 循环问题
#include<stdio.h>#include<string.h>
void f(int *x,int *y)
{
int t;
t=*x;
*x=*y;
*y=t;
}
main()
{
int a={1,2,3,4,5,6,7,8}, i,*p,*q;
p=a;q=&a;
while(p!=q)
{
f(p,q);
p=p+1;
q=q-1;
}
for(i=0;i<8;i++)
printf("%d\t",a);
}为什么while循环会出错,程序无法运行
p=p+1;
q=q-1;
这两句有问题
循环到p=&a、q=&a的时候
执行这两句,正好两个指针变量没有相等的时候,所以继续死循环下去,就用到了其他内存空间,接下来程序就崩溃了 楼上正解!
页:
[1]