數組結合指針的簡單操作

#include <stdio.h>
#include <stdlib.h>


int main()
{
    int arr_a[10];
    int arr_b[10];

    for(int i=0;i<10;i++) arr_a[i]=i;

    int *p=arr_b;
    int i=0;
    while(p<arr_b+10){
        *p=i+10;
        p++;
        i++;
    }

    printf("打印數組arr_a:");
    for(int i=0;i<10;i++) printf("%d,",arr_a[i]);
    printf("\n");

    printf("打印數組arr_b:");
    for(p=arr_b;p<arr_b+10;p++) printf("%d,",*p);
    printf("\n");

    for(int i=0;i<10-1;i++) arr_a[i]=arr_a[i+1];
    arr_a[10-1]=-1;
    printf("左移數組arr_a:");
    for(int i=0;i<10;i++) printf("%d,",arr_a[i]);
    printf("\n");

    for(p=arr_b;p<arr_b+10-1;p++) *p=*(p+1);
    *(arr_b+10-1)=-1;
    printf("左移數組arr_b:");
    for(p=arr_b;p<arr_b+10;p++) printf("%d,",*p);
    printf("\n");

    for(int i=10-1;i>=0;i--) arr_a[i+1]=arr_a[i];
    arr_a[0]=-1;
    printf("右移數組arr_a:");
    for(int i=0;i<10;i++) printf("%d,",arr_a[i]);
    printf("\n");

    for(p=arr_b+10-1;p>=arr_b;p--) *(p+1)=*p;
    *arr_b = -1;
    printf("右移數組arr_b:");
    for(p=arr_b;p<arr_b+10;p++) printf("%d,",*p);
    printf("\n");

    return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章