嗨,我工作的一個程序,獲得一個後綴表達式並計算出它..讀字符串不會正確
我有兩個功能:
- 轉換綴與postfix
- 計算後綴
當我嘗試小表情,就像1 + 1或(1 + 1)* 1,它工作正常 但是當我使用所有的操作數我得到的東西討厭,
這裏是例子: 2 * 2/2 + 1-1 得到這樣的: 222/* 11- +T_CHECKÖÐ7█Ã
如果你看到的,表達的是正確的,直到'? T」
我相信它的一些參數的錯誤,所以我就把這頭這裏返回值
1日)
char* convert(char *infix);
char *post = (char *)malloc(sizeof(char)*tamP);
return post;
2日)
int evaluate(char *postfix)
while (*postfix != '\0')
return result;
來電)
char* post = convert(infix);
result = evaluate(post);
感謝
我想你還應該提到convert(char *)的定義。 – 2010-10-15 18:47:41
這是沒有足夠的信息可以肯定地說,但如果字符串末尾有「垃圾」,請仔細檢查您的代碼是否在構建完成後始終在末尾放置'\ 0'字符。 – aschepler 2010-10-15 18:49:14
這些代碼片段不完整:沒有解析或轉換代碼。什麼是「tamP」和「結果」?你如何閱讀字符串?你如何寫結果字符串?你得到的任何答案只是猜測,直到你發佈更完整的東西。 – 2010-10-15 18:52:56