用指针将数组逆序存放

#include<iostream.h> void main() { int *p,*q,t,a[10]={1,2,3,4,5,6,7,8,9,10}; p=a; for(p=a;p<(a+10);p++) cout<<*p<<"\t"; q=a+9; p=a; //这儿要把p=a加上,因为前面的for循环让指针p移到了最后 for(;p<q;p++,q--) { t=*p; *p=*q; *q=t; } for(p=a;p<(a+10);p++) cout<<*p<<"\t"; cout<<endl; }

#include #define n 10 int main() { int a[n]={1,2,3,4,5,6,7,8,9,0}; int i,tmp; int *front,*rear; printf("the element of original array:\n"); for(i=0;i printf("%d,",a[i]); //使用指针实现逆序存放数组元素 front=&a[0]; //指针front初始执行数组首元素 rear=&a

#include #define N 10 void main() { int a[N],i,temp; printf("请输入%d个整数:\n",N); for(i=0;i

你的while语句的判断条件错误了,*p1 *p2表示的是P1 P2所指向地址里面存放的值,你输入10个不同的数字,*P1 *P2永远都是不相等的,while语句运行10次之后指针指向不可知的内存就会出现你的这个报错,所以做如下修改就可以了:将while(*p1!=*p2)改为:while(p1 评论0 0 0

char *buf = "nihaoma"; 改成 char buf[] = "nihaoma"; 前者"nihaoma"放在了常量区,值不能被改变.

编写print函数用于输出数组的元素. 3. 在主函数中初始化数组a,调用reverse函数,将数组a逆序,调用print函数,输出数组的内容. VC6.0下编译通过 #,HjkQte

#include <stdio.h>#define N 10int main(){ int a[N]={1,2,3,4,5,6,7,8,9,0}; int i,tmp; int *front,*rear; printf("The element of original array:\n"); for(i=0;i<N;i++) printf("%d,",a[i]); //使用指针实现逆序存放数组元素 front=&a[0]; //指针front初始执行数

用指针遍历数组,有两种方法:1. 按偏移位置引用数据(类似数组元素引用)2. 移动指针,取当前位置数据参考代码://按偏移位置引用数据void inv(int x[],int n){ int i; for( i=0;ih ) //尾大于头时,进行头尾数据交换 { int temp=*h; *h=*t; *t=temp; h++;t--; //头指针后移,尾指针前移 }}

#include <stdio.h> main() { int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p,*q; q=a+9; for(;q>=&a[0];q--) printf("%8d",*q);}

在子程序 void invert()中for(p<q ; p++ ;q--)/*你写成 p++;p--了..*/

相关文档

指针实现数组元素逆序
利用指针逆序输出字符串
将一个字符串按逆序存放
用指针反序存放多组数据
用指针的方法逆序顺序表
指针数组之字符数组逆序
将一维数组各元素逆序输出
用指针数组的逆序存放
5213.net
sichuansong.com
wnlt.net
zxqs.net
mydy.net
电脑版