<div>static char prec[5][2] = { '^', 3, '*', 2, '/', 2, '+', 1, '-', 1 };</div> <div> </div> <div>void tree::buildTree(char *str)<br>{<br> char token;<br> int a = 0;</div> <div> while (str[a])<br> {<br> token = str[a++];<br> node *temp = new node(token);</div> <div> for (int b = 0; b < 5; b++)<br> if (temp->data == prec[b][0])<br> {<br> temp->prior = prec[b][1];<br> break;<br> }</div> <div> if (temp->prior == 4)<br> operand(temp);<br> else<br> operate(temp);<br> }<br>}</div> <div> </div> <div> </div> <div> </div> <div>1. 우선 인자 (char *str)은 어떠한 연산식이 입력이 됩니다. (ex. A/B*C+D ... )</div> <div> </div> <div>2. 첫번째 if문에서 temp->data == prec[b][0] 이 조건이 어디서 발생이 되나요?? temp->data의 값은 어디에서도 연산 진행이 안되었을텐데..</div> <div> </div> <div>3. 두번째 if문에서 temp->prior == 4 일 수가 없지 않나요? static 선언해준 char형 prec에서 최대 숫자는 3인데..</div> <div> </div> <div> </div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.