我想在我的数组的末尾添加=
,然后通过附加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
我看不到在代码本身中张贴的贴子。 –