Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[11822] 스택기반 계산기 소스인데요. 빌더에서 이런메세지가뜹니다.
오규원 [] 1884 읽음    2008-03-09 15:51
debe.JPG 133.2KB 에러나는 화면
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

#define MAX_STACK_SIZE 100
#define MAX_EXPRESSION 100
#define END_OF_INPUT '#'
int stack[MAX_STACK_SIZE];
int top = 1;

void push(int item)
{
    if(top >= (MAX_STACK_SIZE-1))
    {
        printf("stack is full");
        return;
    }
}

int pop()
{
    if(top == -1)
    {
        printf("stack is empty");
        exit(0);
    }
    return stack[top--];
}

eval(char exp[])
{
    int op1, op2;
    int value;
    char ch;
    int i = 0;

    while((ch = exp[i++]) != END_OF_INPUT)
    {
        if(ch != '+' && ch != '-' && ch != '*' && ch != '/')
        {
            value = ch - '0';
            push(value);
        }
        // 입력이 연산자이면 피연산자를 스택에서 제거
        //연산을 수행하고 결과를 스택에 저장
        else
        {
            op2 = pop();
            op1 = pop();
            switch(ch)
            {
                case '+':push(op1+op2);break;
                case '-':push(op1-op2);break;
                case '*':push(op1*op2);break;
                case '/':push(op1/op2);break;
            }
        }
    }
    return pop();
}

void main()
{
    int result;
    printf("후위표기식은 82/3-32*+#\n");
    result = eval("82/3-32*+#");
    printf("결과값은 %d\n", result);
    getch();
}

이 소스인데요. 에러는 없는데 실행할때 다음 화면과 같은 메세지가 뜹니다.

왜 저런메세지 뜨는지 좀 알고싶습니다. vc소스라서 그런지 vc에서는 잘돌아가더군요.

+ -

관련 글 리스트
11822 스택기반 계산기 소스인데요. 빌더에서 이런메세지가뜹니다. 오규원 1884 2008/03/09
11824     Re:스택기반 계산기 소스인데요. 빌더에서 이런메세지가뜹니다. 아루스 1854 2008/03/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.