gpt4 book ai didi

c - 为什么这会从整数生成指针?

转载 作者:行者123 更新时间:2023-11-30 21:15:26 24 4
gpt4 key购买 nike

 push(equation, pop(equation) + pop(equation));

这是我正在使用的流行音乐

int pop(struct stack *st)
{
int c;
if (st->top == -1)
{
printf("Stack is empty");
return NULL;
}
c = st->arr[st->top];
st->top--;
return c;
}

这里是推送

void push(struct stack *st, int * c)
{
if (st->top == 99)
{
printf("Stack is full");
return ;
}
printf("TOP = %d\n", st->top);
st->top++;
printf("TOP = %d\n", st->top);
st->arr[st->top] = c;
}

它说推送的第二个参数是从一个没有强制转换的整数中创建一个指针,但我不明白为什么,所以如果有人可以解释它,我将不胜感激。

最佳答案

pop() 返回一个 int

push() 接受一个 int *,一个指向整数的指针。

您将两个 pop() 的总和直接传递给 push()。两个int之和仍然是一个int,而不是指向整数的指针。因此,您“从没有强制转换的整数中创建指针”

关于c - 为什么这会从整数生成指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30043511/

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