질문 하나만 드릴게요...
int main(void)
{
char preFixExpr[256] = "-+*ABC/EF";
char postFixExpr[256] = "";
preToPostFix(preFixExpr, postFixExpr);
.
void preToPostFix(char* preFixIn, char* postFix)
{
char operate[2];
char postFix1[256];
char postFix2[256];
char temp[256];
int lenPreFix;
if (strlen(preFixIn) == 1)
{
*postFix = *preFixIn;
*(postFix + 1) = '\0';
return;
}//if only operand
*operate = *preFixIn;
*(operate + 1) = '\0';
//find 1st expression
.
위 빨간색으로 지정한 부분에서...operate 배열 크기가 2밖에 안되는데,
-+*ABC/EF가 들어있는 배열의 주소가 어떻게 들어가죠??
아, 그리고 이게 그 prefix to Postfix를 수행하는 함수인데...
저 *operate = *preFixIn; *(operate + 1) = '\0';
이 두코드가 어째서 첫번째 expression을 지칭하게 되는건지 잘 모르겠습니다 ㅠㅠ...
부디 초보자에게 은총을 으어...