스택에 9랑 *를 넣고 (,1,+,2,를 넣고 )를 만나자마자 차례대로 꺼내 1+2를 해주고 다음에 *을 꺼내고 9를 꺼내 곱해주는 거 같습니다 - dc App
시으니(sieny811)2017-05-02 13:03
괄호가 제일 먼저 계산될거임
유동인척하는 고닉(223.62)2017-05-02 13:03
의견이 다르신거보니간 진짜 컴파일러마다 다른가본데 gcc 컴파일러에서는 어떻게 되나요?
익명(125.180)2017-05-02 13:04
곱하기를 두번하니 후자처럼 하면 쓰레기일거같군요 - dc App
시으니(sieny811)2017-05-02 13:05
분배법칙 해보세요 분배법칙 - dc App
ㅂ백왕ㅇ(whiteking)2017-05-02 13:10
밑에서도 설명했는데, 원래 수식의 연산이라 함은, 연산스택에 순서대로 집어넣고 처리하는게 기본임. 즉 9와 *를 먼저 스택에 집어넣고, 그다음 괄호를 인식해서 처리하는 방식임. 즉, 괄호는 "그룹의 역할"이고, "연산의 우선순위"에 해당하는거지, "실행의 우선순위"가 아님. 무조건 순서 다 씹어먹고 괄호먼저 무조건 실행한다는 뜻이 아님. 실행자체는 순차적임. 즉, 저기서 각 항이 실행문이라면, "9"가 가장 만저 실행되는거임. 그다음 "1+2"를 연산하고, *가 나중에 처리되는거고.
음 저문제에 있어선 9*3이 맞음
스택에 9랑 *를 넣고 (,1,+,2,를 넣고 )를 만나자마자 차례대로 꺼내 1+2를 해주고 다음에 *을 꺼내고 9를 꺼내 곱해주는 거 같습니다 - dc App
괄호가 제일 먼저 계산될거임
의견이 다르신거보니간 진짜 컴파일러마다 다른가본데 gcc 컴파일러에서는 어떻게 되나요?
곱하기를 두번하니 후자처럼 하면 쓰레기일거같군요 - dc App
분배법칙 해보세요 분배법칙 - dc App
밑에서도 설명했는데, 원래 수식의 연산이라 함은, 연산스택에 순서대로 집어넣고 처리하는게 기본임. 즉 9와 *를 먼저 스택에 집어넣고, 그다음 괄호를 인식해서 처리하는 방식임. 즉, 괄호는 "그룹의 역할"이고, "연산의 우선순위"에 해당하는거지, "실행의 우선순위"가 아님. 무조건 순서 다 씹어먹고 괄호먼저 무조건 실행한다는 뜻이 아님. 실행자체는 순차적임. 즉, 저기서 각 항이 실행문이라면, "9"가 가장 만저 실행되는거임. 그다음 "1+2"를 연산하고, *가 나중에 처리되는거고.