#include
#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]);
}
}
16行加上p = arr; 将p重新指向数组首地址就行了
修改如下,供参考:
#include <stdio.h>
#define ARR_INDEX 26 // #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; //int* p = &arr; 修改
for (int i = 0; i < ARR_INDEX; i++) {
arr[i] = 'A' + i;
printf("%c", *p++);
printf(" %p\n", p - 1); //printf(" %d\n", p);修改
}
//printf("%d", p);
//printf("\n%c\n", *p);
//printf("\n%c\n", *p);
for (q; q >= arr; q--) { //for (int i = 0; i < ARR_INDEX; i++)
printf("%c %p\n", *q, q); //printf("%c", arr[i]);
}
return 0;
}