小小黑¥¥¥ 2022-11-22 11:32 采纳率: 100%
浏览 3
已结题

指针指向数组,对指针进行地址累加,累加完后指针无法使用了

指针指向数组,对指针进行地址累加,累加完后指针无法使用了

#include <stdio.h>

#define ARR_INDEX 27

int main() {

    int arr[ARR_INDEX] ;
    int* q = &arr[ARR_INDEX-1];
    //char* p = (char*)malloc(sizeof(char)*26);
    int* p = &arr;
    for (int i = 0; i < ARR_INDEX-1; i++) {
        arr[i] = 'A' + i;
        printf("%c", *p++);
        printf(" %d\n", p);
    }
    
    printf("%d", p);
    printf("\n%c\n", *p);
    printf("\n%c\n", *p);
    

    for (int i = 0; i < ARR_INDEX; i++) {
        printf("%c", arr[i]);
    }

}

img

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2022-11-22 11:38
    关注

    16行加上p = arr; 将p重新指向数组首地址就行了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月30日
  • 已采纳回答 11月22日
  • 创建了问题 11月22日