当前位置: 代码迷 >> C语言 >> [求助]一道关于指针的题目
  详细解决方案

[求助]一道关于指针的题目

热度:203   发布时间:2007-06-24 13:27:43.0
[求助]一道关于指针的题目

int a[8]={1,2,3,4,5,6,7,8};
int *p;
p=&a[8];代表什么?


void f(int *x,int *y)
{
int t;
t=*x;*x=*y;*y=t;
}
main()
{
int a[8]={1,2,3,4,5,6,7,8},i,*p,*q;
p=a;q=&a[7]; 怎样理解?
while(p{f(p,q);p++;q--;} 又怎样理解?
for(i=0;i<8;i++)printf("%d,",a[i]);
}


----------------解决方案--------------------------------------------------------
p=&a[8]; //将数组a第8个元素的地址赋给p

p=a; //将数组a的首地址赋值给p

q=&a[7]; //将数组a第7个元素的地址赋给q

while(p{f(p,q);p++;q--;} //期待高人解释
----------------解决方案--------------------------------------------------------
只能是p=&a[7],这个表示把数组中的第八个元数的地址赋给指针p,数组a的下标0-7表示第一个元素到第八个元数
也就是说第一个元素表示a[0]第二个元素表示a[1], 如此类推

while(p{f(p,q);p++;q--;} 又怎样理解?//这个程序段怎么也让人觉得有问题或者是我学艺不精

----------------解决方案--------------------------------------------------------
  相关解决方案