gpt4 book ai didi

C 指针错误

转载 作者:太空宇宙 更新时间:2023-11-04 00:18:43 24 4
gpt4 key购买 nike

我用 C 编写了这个程序,但出现了一个我不知道如何修复的错误。请帮我找出错误。这是我写的代码:

#include <stdio.h>

int main(int argc, char *argv[]){
int x = 98;
int *g = x;
printf("This is x: %d, and this is g: %i.\n", x, *g);
*g=45;
printf("This is x: %d, and this is g: %i.\n", x, *g);

return 0;
}

编译器给我以下错误:

ex15t.c: In function ‘main’:
ex15t.c:5:12: warning: initialization makes pointer from integer without a cast [enabled by default]

在此先感谢您的帮助。

最佳答案

int * g = x;行是定义int *类型的变量g,然后给赋值>x 到它。

展开后,可以理解为:

int *g;
g = x;

这显然不是你想要的,因为 x 是类型 intg 是类型 int *.

假设您希望 g 指向变量 x,而不是这样做

int * g = &x;

或者改为这样做,这可能更清楚:

int *g;
g = &x;

关于C 指针错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17416980/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com