zl程序教程

您现在的位置是:首页 >  后端

当前栏目

数组指针一道题目分享

数组 分享 指针 题目 一道
2023-09-11 14:17:19 时间
#include<stdio.h> 
#include<string.h>
int main(){
    char a[8]="abcdef",b[8],p=a+3;
    while(--p>=a){
        strcpy(b,a);
    }
    printf("%d",strlen(b));
    return 0;
}


结果为 6

因为: p=a+3  a为数组的首地址不是 数组元素的首地址,所以+3 实际上跨越了 多个地址空间解释为:sizeof(a)+3

= a[6]+3

知识点:

a: 数组首地址

&a : 数组元素首地址

&a【0】:数组元素首地址