gpt4 book ai didi

c - 意外的编译器警告

转载 作者:行者123 更新时间:2023-11-30 20:53:22 27 4
gpt4 key购买 nike

如何消除此警告?

warning: format '%d' expects argument of type ' int', but argument 2 has type 'int *' [-Wformat=] printf(“%d”,p1->j);

这是代码,除了警告之外一切正常。

void main()
{
struct s1
{
int *j;
};

struct s2
{
int k;
};
struct s1 *p1;
struct s2 *p2;

p1=malloc(sizeof(struct s1));
p2=malloc(sizeof(struct s2));
p2->k=5;
p1->j=&p2->k;
printf("%d",p1->j);
}

最佳答案

j 在此使用时为 int* 类型:printf("%d",p1->j);, printf 不喜欢这样,并且需要一个 int 所以你应该取消引用:

printf("%d",*(p1->j));

关于c - 意外的编译器警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49087218/

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