永发信息网

求数据结构——“栈”的调试

答案:1  悬赏:80  手机版
解决时间 2021-04-12 06:55

调了很长时间都没调好,看来我不是这个料~急需,程序如下:

#include "stdlib.h"
#define MAX 100
int *stack;
int *t;
void push();
main()
{
int x,y,m,i;
char s[50];
stack=(int *)malloc(MAX*sizeof(int));
if (!stack)
{
printf("\n can't create stack!\n");
exit(1);
}
t=stack;
printf("\t 《数据结构课程设计--利用栈进行多种运算》\n\n \t(可用的符号有+、-、*、/、?、%、^,输入q退出。)\n\n");
do{
printf("请输入数值或符号:");
printf(s);
switch(*s)
{
case'+':x=pop();
y=pop();
printf("相加结果为:%d+%d=%d\n",x,y,x+y);
push(x+y);
break;
case'-':x=pop();
y=pop();
printf("相减结果为:%d-%d=%d\n",x,y,x-y);
push(x-y);
break;
case'*':x=pop();
y=pop();
printf("相乘结果为:%d*%d=%d\n",x,y,x*y);
push(x*y);
break;
case'/':x=pop();
y=pop();
if(y==0)
{
printf("分母不能为零!\n");
break;}
printf("相除结果为:%d/%d=%.4f\n",x,y,(float)x/y);
push(x/y);
break;
case'?':x=pop();
y=pop();
printf("栈是 %d\n",x);
break;
case'^':x=pop();
y=pop();
m=1;i=y;
while (i>0)
{m=m*x;
i=i-1;
}
printf("乘方结果为:%d^(%d)=%d\n",x,y,m);
push(x^y);
break;
case'%':x=pop();
y=pop();
if(y==0)
{printf("分母不能为零!\n");
break;}
printf("求余结果为:%dmod(%d)=%d\n",x,y,x%y);
push(x%y);
break;
default:push(atoi(s));
}
}while(*s!='q');
}
void push(int n)
{
if(stack>stack+MAX-1)
{
printf("栈满!\n");
return;
}
*stack=n;
stack++;
}
pop()
{
stack--;
if(stack<t)
{printf("栈空!\n");
return(0);
}
return(*stack);
}

两个错误如下:

c:\documents and settings\administrator\桌面\修改过的程序\栈(未改完).c(13) : warning C4013: 'printf' undefined; assuming extern returning int


c:\documents and settings\administrator\桌面\修改过的程序\栈(未改完).c(23) : warning C4013: 'pop' undefined; assuming extern returning int

最佳答案

栈,是从汇编的堆栈由来的,如果你知道堆栈,就不用我说了。



堆栈:就是一个先进后出(也叫后进先出)的一个象数组一样的存放数据系列的空间。在内存里以内存的地址为顺序。先进后出,也叫后进先出。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
手机关机后第二天开不了机
红米2a需要激活手机,进入recovery模式,但是
你眼中的《沉思录》与马可.奥勒留是怎样的呢
又一日,塞北送酥一盒至。操自写“一合酥”三
赞美北方的佳句,形容北方的句子
马鞭草+柠檬草+迷迭香+决明子+甘草+陈皮可以
吉运钢构复合板厂这个地址在什么地方,我要处
谁知道十大歌曲?
萝卜怎么放不康
如何开好一家粮油店
如图,在直角坐标系xOy中,△ABC关于直线y=1
什么地方可以申请到5位靓号
佳豪公寓在哪里啊,我有事要去这个地方
求蓝淋小说集
根据短文内容,选择正确答案.Anger is a kind
推荐资讯
mophun哪有下载?
汽车尾气的污染与危害
四季汇鲜惠山店怎么去啊,有知道地址的么
看龙珠的孩子是不得了?
电动车是骑快费电还是骑慢?
招商银行能不能人代改密码
UltraISO引导Windows7出错
2sa904 三极管可替换型号
电脑最怕什么?
汽车加速有叮叮叮的声音 怀疑是敲缸 然后空挡
DNF格斗转职选什么职业好
若要使DC∥AB,需要添加条件________.
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?