목차
◆ 프로그래밍 절차
◆ 소스
◆ 실행결과
◆ 소스
◆ 실행결과
본문내용
int *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)안에 존재해야 한다.
소개글