小编use*_*889的帖子

C指针和数组:[Warning]赋值使整数指针不带强制转换

我在使用C中的指针和数组时遇到了一些问题.这是代码:

#include<stdio.h>


int *ap;
int a[5]={41,42,43,44,45};
int x;

int main()
{
    ap = a[4];
    x = *ap;
    printf("%d",x);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我编译并运行代码时,我收到此警告:

[Warning]赋值使整数指针没有强制转换[默认启用]

对于第9行(ap = a [4];)并且终端崩溃.如果我将第9行更改为不包含位置(ap = a;),我不会收到任何警告并且它可以正常工作.为什么会这样?我觉得答案很明显,但我看不出来.

c arrays warnings pointers

18
推荐指数
2
解决办法
14万
查看次数

标签 统计

arrays ×1

c ×1

pointers ×1

warnings ×1