#include<stdio.h>
#include<stdlib.h>
struct stack{
int size;
int* ptr;
int top;
};
int isfull(struct stack* a){
if (a->top==a->size)
{
return 1;
}
return 0;
}
int isempty(struct stack* a){
if (a->top == -1)
{
return 1;
}
else{
return 0;
}
}
int main()
{
struct stack* A;
A->size = 10;
A->top = -1;
A->ptr = (int *)malloc(A->size*sizeof(int));
if(isempty(A)){
printf("Stack is empty");
}
return 0;
}
输出窗口上应该有“堆栈为空”,但它是空白的,没有编译错误。我坚持了几个小时,请帮我解决这个问题。我试过 getch() 方法也没有帮助。我使用 vscode。谢谢你。
A
可能不应该是一个指针,你可能想要这个:
int main()
{
struct stack A;
A.size = 10;
A.top = -1;
A.ptr = malloc(A.size * sizeof(int));
if (isempty(&A)) {
printf("Stack is empty");
}
return 0;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句