头歌实践教学平台—C语言程序设计(指针)

5-1 学习-指针基本概念

(一)通过指针变量间接访问变量

#include <stdio.h>
int main(){
    int x,y;
    int *p; //定义指针变量P
    p=&x;   //使指针变量p指向一个变量x
    /*****请在以下填写通过p输入输出x值代码*****/
    /********** Begin *********/
    scanf("%d",p);
    printf("%d\n",*p);
    /********** End **********/
    p=&y;   //使指针变量p指向另一个变量y
    /*****请在以下填写通过p输入输出y值代码
    /********** Begin **********/
    scanf("%d",p);
    printf("%d\n",*p);
    return 0;
}

(二)交换两个指针变量的值

#include <stdio.h>
int main(){
    int a=100,b=200;
    int *p1, *p2, *p;
    p1=&a; p2=&b;
    scanf("%d%d",p1,p2);
    /*****交换p1、p2的值*****/
    /********** Begin *********/
    p=p1; p1=p2; p2=p;
    /********** End **********/
    printf("%d %d\n",*p1,*p2);
    return 0;
}

(三)利用指针方法求数组的最大值和最小值

#include<stdio.h>
#define M 3
main()
{
    int a[M],i;
    int *max,*min;
    for(i=0 ;i<M; i++)
    {
        scanf("%d",&a[i]);
    }
     /***** 将指针变量max,min初始化 *****/
    /********** Begin **********/
    max = &a[0];
    min = &a[0];
    
    /********** End **********/
    /***** 将每个数组元素依次与max,min指向的数组元素比较,使max,min分别指向的最大、最小的数组元素 *****/
    /********** Begin **********/
    for(i=0 ;i<M; i++){
    if(a[i] > *max)
    max = &a[i];
    if(a[i] < *min)
    min = &a[i];
    }
    /********** End **********/
    /***** 通过指针变量max,min输出最大值和最小值 *****/
    /********** Begin **********/
    printf("min=%d\n",*min);
    printf("max=%d\n",*max);
    /********** End **********/
    return 0;
}

5-2 学习-用指针遍历一维数组

#include <stdio.h>
int main()
{
    int a[10],*p,i,j=0;
    for(i=0;i<10;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i=0;i<10;i++)
    {
    p=&a[i];
    printf("%d ",*p);
    }
    getchar();
    return 0;
}

5-3 练习-用指针实现数组元素逆置

#include <stdio.h>
#define N 10
int main()
{
    /********** Begin **********/
  int a[N],temp,i;
    int *p1=&a[0],*p2=&a[N-1];
    for(i=0;i<N;i++){scanf("%d",&a[i]);}
    for(i=0;i<N/2;i++){temp=*p1;*p1=*p2;*p2=temp; p1++;p2--;}
    for(i=0;i<N;i++){printf("%d ",a[i]);}
    /********** End **********/
   return 0;
 }
posted @ 2024-06-04 17:17  CYHMS  阅读(235)  评论(0)    收藏  举报