小编ali*_*sha的帖子

C数组中p [-2]的输出

我正在尝试下面的代码片段.请帮助我理解o/p如何成为2?p[-2]这里的意思是什么?

int main(void){
    int ary[4] = {1, 2, 3, 6};

    int *p = ary + 3; 

    printf("%d\n", p[-2]); 
}
Run Code Online (Sandbox Code Playgroud)

c arrays pointers

0
推荐指数
1
解决办法
514
查看次数

为什么C程序在打印指针时会给我这个输出?

#include <stdio.h>

int main()

{
    int i;
    int buf[10];
    char *p ;
    p = 4;
    printf("%d",p);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

4

怎么会是4?我期待一些地址价值.你能帮我理解一下吗?

c printf pointers

-4
推荐指数
1
解决办法
89
查看次数

标签 统计

c ×2

pointers ×2

arrays ×1

printf ×1