我想在我的數組的末尾添加=
,然後通過附加0如何追加「=」爲字符串
這是我如何分配我的空間結束它
char* postExpr = malloc(sizeof(char)*MAX_LEN);
我嘗試了很多方法,但我仍然無法在字符串末尾添加字符'=',其他字符都可以正常工作。
什麼,我是用infExpr [I]試圖
postExpr[postLen++] = 61;
postExpr[postLen++] = '=';
postExpr[postLen++] = infExpr[i];
存儲值 '='
編輯:
char* infix2postfix (const char* infExpr) {
char* postExpr = malloc (sizeof(char)*MAX_LEN);
if(postExpr == NULL)
return NULL;
tStack* s = (tStack*) malloc(sizeof(tStack));
if(s == NULL)
{
free(postExpr);
return NULL;
}
unsigned postLen = 0;
for(int i = 0; i< MAX_LEN; i++)
{
switch(infExpr[i])
{
case '*':
case '/':
case '+':
case '-': doOperation(s,infExpr[i],postExpr,&postLen); break;
case '(': stackPush(s,infExpr[i]); break;
case ')': untilLeftPar(s,postExpr,&postLen); break;
case '=':
while(!stackEmpty(s))
{
stackTop(s,&postExpr[postLen++]);
stackPop(s);
}
postExpr[postLen++] = '='; //NO APPEND HERE!!!
postExpr[postLen++] = 0;
postLen = MAX_LEN;
break;
case 0:
postExpr[postLen++] = '=';
postExpr[postLen++] = 0;
postLen = MAX_LEN;
break;
default: postExpr[postLen++] = infExpr[i]; break;
}
}
return postExpr;
}
請顯示完整的代碼。這個角色沒有什麼特別之處。 –
這裏發佈的內容不足以顯示問題。請用[最小,完整,可驗證示例]更新您的問題(http://stackoverflow.com/help/mcve)。 – dbush
我看不到在代碼本身中張貼的貼子。 –