当前位置:文档之家› 用指针处理数组

用指针处理数组

{
int *p,temp;
int *i,*j;
p=arr;
for(;p<(arr+n-1);p++)
{
i=p;
for(j=(p+1);j<(arr+n);j++)
{
if(*i>*j)
{
temp=*i;
*i=*j;
*j=temp;
}
}
}
}
void main()
{
int a[N],*p;
p=a;
printf("input %d num:\n",N);
1.用指针输入、输出数组(这里比较p++和++p的不同)
(1)#include<stdio.h>
void main()
{
int a[5],*p;
p=a;
printf("输入5个数:\n");
for(p=a;p<(a+5);p++)
{
scanf("%d",p);
}
p=a;
printf("\n");
for(;p<(a+5);)
for(;p<(a+N);)
{
scanf("%d",p++);
}
p=a;
swap(p,N);
p=a;
printf("交换后的数据:\n");
for(;p<(a+N);)
{
printf("%d\t",*p++);//先输出*p的值,再是p指向数组下一个元素
}
printf("\n");
}
j=arr+n-1;
p=arr+k;
for(;i<p;i++,j--)
{
temp=*i;
*i=*j;
*j=temp;
}
}
void main()
{
int a[N],*p;
p=a;
printf("input %d num:\n",N);
for(;p<(a+N);)
{
scanf("%d",p++);
}
swap(a,N);
p=a;
printf("exchange:\n");
for(;p<(a+N);)
{
printf("%d\t",*p++);//先输出*p的值,再是p指向数组下一个元素
}
printf("\n");
}
3.10个数重小到大排列
#include<stdio.h>
#define N 9
void swap(int *arr,int n)
for(;p<(a+4);)
{
printf("%d\t",*(++p));
}
printf("\n");
}
2.数组值倒序输出
#include<stdio.h>
#define N 9
void swap(int *arr,int n)
{
int k=n/2;
int *p,temp;
int *i,*j;
i=arr;
{
printf("%d\t",*p++);
}
printf("\n");
}
(2)#include<stdio.h>
void main()
{
int a[5],*p;
p=a;
printf("输入5个数:\n");
for(p=a;p<(a+5);p++)
{
scanf("%d",p);
}
p=a;
p--;
printf("\n");
相关主题