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;
}
它说推送的第二个arg是从一个没有强制转换的整数制作指针,但我不明白为什么如果有人能解释它我会很感激。
答案 0 :(得分:5)
pop()
会返回int
。
push()
获取int *
,指向整数的指针。
您将两个pop()
的总和直接传递给push()
。两个int
的总和仍然是int
,而不是指向整数的指针。因此,您“从没有强制转换的整数制作指针”。