?? stack.c
字號:
#include <stdio.h>
#include <stdlib.h>
#define Max 100
int *p;
int *tos;
int *bos;
/*添加一個數(shù)據(jù)放到堆棧對頂端*/
void push(int i)
{
if(p > bos)
{
printf("堆棧以滿\n");
return;
}
*p = i;
p++;
}
/*叢堆棧頂端取出一個數(shù)據(jù)*/
int pop(void)
{
p--;
if(p < tos)
{
printf("堆棧下溢\n");
return 0;
}
return *p;
}
void main(void)
{
int a,b;
char s[80];
p = (int *)malloc(Max*sizeof(int));
if(!p)
{
printf("分配內(nèi)存失敗");
exit(1);
}
tos = p;
bos = p + Max -1;
printf("請輸入第一個數(shù)據(jù):\n");
scanf("%d",&a);
push(a);
printf("請輸入第二個數(shù)據(jù):\n");
scanf("%d",&b);
push(b);
printf("請輸入操作符:\n");
scanf("%s",s);
switch (*s)
{
case '+':
a = pop();
b = pop();
printf("結(jié)果是a+b = %d\n",(a+b));
push(a+b);
break;
case '-':
a = pop();
b = pop();
printf("結(jié)果是a-b = %d\n",(a-b));
push(a-b);
break;
case '*':
a = pop();
b = pop();
printf("結(jié)果是a*b = %d\n",(a*b));
push(a*b);
break;
case '/':
a = pop();
b = pop();
printf("結(jié)果是a/b = %d\n",(a/b));
push(a/b);
break;
default:
printf("請輸入正確操作符\n");
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -