C语言数组逆序交换后首元素地址不变
是的,*p所指的位置仍然是数组a的第一个元素的地址。在函数inverse中,参数p指向了数组a的首地址,通过对p的递增和q的递减,实现了对数组元素的逆序交换。在交换完成后,*p仍然指向数组a的第一个元素的地址。
#include<stdio.h> void inverse(int * , int ); void main() { int a[10]={33,8,0,44,5,6,7,7,8,6,} inverse(a,n); for(i=0;i<10;i++) printf('%d ',a[i]); printf(' '); inverse(int *p , int n){ int *q,t; for(q=p+n-1;p<q;p++,q-- ) { t=*p ; *p=*q ; *q=t; } }
原文地址: https://www.cveoy.top/t/topic/bLOE 著作权归作者所有。请勿转载和采集!