![]() |
|
|||||||
| 論壇說明 |
|
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
|
主題工具 | 顯示模式 |
|
|
#4 (permalink) |
|
管理員
![]() ![]() |
2.if(item=='(')breakㄤ;,item 沒有內容怎麼會等於'('?
並非是沒有內容 ... 而是程式在逐步取得字元符號比對的時候,當 item 變數器的內容是 ( 時, 就執行 break 中斷某個迴圈執行 ... 語法:
if (is_operand(token)) postfix[j++] = token;
else if (token == '(') push(token);
else if (token == ')')
while (S.top > -1) // if (item == '(') break; 是中斷這一個迴圈
{
pop(&item);
if (item == '(') break;
postfix[j++] = item;
}
3.為什麼會push(token)? 應該說 push(token) 的使用時機為何? 將 ( 放到堆疊裡,或是某的運算符號 放到堆疊裡 語法:
if (is_operand(token)) postfix[j++] = token;
else if (token == '(') push(token);
else if (token == ')')
while (S.top > -1)
{
pop(&item);
if (item == '(') break;
postfix[j++] = item;
}
...
...
...
else if (is_operator(token)){
...
push(token);
}
建議編寫不管是哪一種程式的原始碼,可以稍稍排版整理一下,如上 這樣子可以增加程式的易讀性,而且哪幾行一組,哪幾行是相關的, 哪幾行是一個 Function。 也可以利用註解幫助說明或是排版。 此帖於 2011-07-24 11:21 AM 被 getter 編輯. |
|
|
送花文章: 37855,
|
|
向 getter 送花的會員:
|
|
|
相似的主題
|
||||
| 主題 | 主題作者 | 討論區 | 回覆 | 最後發表 |
| 討論 - 中序轉前序與後序問題 | 9319074 | 程式語言討論區 | 2 | 2009-10-23 07:41 AM |