求助:第一次用vs2017学c语言,为啥运行不了,在vc++上面还能运行的?
求助大佬,这是怎么回事,要怎么才能解决?下面的显示是这样的:
代码原文:
#define OK 1#define ERROR 0
#define OVERFLOW -2
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
typedef struct
{
int *base;
int *top;
int stacksize;
}SqStack;
SqStack S;
int e;
int InitStack()
{
S.base = (int*)malloc(STACK_INIT_SIZE * sizeof(int));
if (!S.base) return OVERFLOW;
S.top = S.base;
S.stacksize = STACK_INIT_SIZE;
return OK;
}
int GetTop()
{
if (S.top == S.base) return ERROR;
e = *(S.top - 1);
return OK;
}
int Push(int g)
{
if (S.top - S.base >= S.stacksize)
{
S.base = (int *)realloc(S.base,
(S.stacksize + STACKINCREMENT) * sizeof(int));
if (!S.base) return OVERFLOW;
S.top = S.base + S.stacksize;
S.stacksize += STACK_INIT_SIZE;
}
*S.top++ = g;
return OK;
}
int Pop()
{
if (S.top == S.base) return ERROR;
e = *--S.top;
return OK;
}
void main()
{
int a[10];
int i, j, k;
for (i = 0; i < 10; i++)
{
scanf("%d", &a[i]);
}
InitStack();
for (j = 0; j < 10; j++)
Push(a[j]);
for (k = 10; k > 0; k--)
{
Pop();
printf("%d ", e);
}
}
回答
缺少include头文件
scanf printf来自 stdio.h
malloc 来自 stdlib.h
以上是 求助:第一次用vs2017学c语言,为啥运行不了,在vc++上面还能运行的? 的全部内容, 来源链接: utcz.com/a/55421.html