목차
◆ 프로그래밍 절차
◆ 소스
◆ 실행결과
◆ 소스
◆ 실행결과
본문내용
t *top, int item)
{
if ( *top >= MAX_STACK_SIZE-1 )
{
printf("\n Stack Overflow!!");
}
else stack[++(*top)]= item ;
}
int pop (int *top)
{
if (*top==-1)
{
printf("stack empty\n");
// exit(1);
}
else return stack[(*top)--];
}
prec get_token(char *symbol, int *n)
{
*symbol=expr[(*n)++];//expr배열
switch (*symbol){
case '(' :return lparen;
case ')' :return rparen;
case '+' :return plus;
case '-' :return minus;
case '/' :return divide;
case '*' :return times;
case '\n':return eos;
default : return operand;
}
}
char get_char(int temp) // 연산자기호를 반환
{
switch (temp){
case lparen :return '(';
case rparen :return ')';
case plus :return '+';
case minus :return '-';
case divide :return '/';
case times :return '*';
}
}
◆ 실행결과
☞ main()에서 매개변수로 실행파일과 입력파일을 받기 때문에 두개의 인자를 받아야하며,
같은 폴더(debug)안에 존재해야 한다.
{
if ( *top >= MAX_STACK_SIZE-1 )
{
printf("\n Stack Overflow!!");
}
else stack[++(*top)]= item ;
}
int pop (int *top)
{
if (*top==-1)
{
printf("stack empty\n");
// exit(1);
}
else return stack[(*top)--];
}
prec get_token(char *symbol, int *n)
{
*symbol=expr[(*n)++];//expr배열
switch (*symbol){
case '(' :return lparen;
case ')' :return rparen;
case '+' :return plus;
case '-' :return minus;
case '/' :return divide;
case '*' :return times;
case '\n':return eos;
default : return operand;
}
}
char get_char(int temp) // 연산자기호를 반환
{
switch (temp){
case lparen :return '(';
case rparen :return ')';
case plus :return '+';
case minus :return '-';
case divide :return '/';
case times :return '*';
}
}
◆ 실행결과
☞ main()에서 매개변수로 실행파일과 입력파일을 받기 때문에 두개의 인자를 받아야하며,
같은 폴더(debug)안에 존재해야 한다.
소개글