怎么在递归后清空字符串void WriteExpre(BTREE T){//输出中序表达式 //string if (T != NULL) { if (T->lchild != NULL && T->rchild != NULL) { x+="("; } //非子结点==操作符 //x+ WriteExpre(T->lchild); x += (T->data); WriteExpre(T->rchild); if (T->lchild != NULL && T->rchild != NULL) { x+=")"; } } string test=x; }
时间: 2024-02-29 13:54:42 浏览: 49
删除字符(递归)_删除字符c++_递归删字符_
5星 · 资源好评率100%
在C++中可以使用以下代码在递归后清空字符串:
```
void WriteExpre(BTREE T){
if (T != NULL) {
if (T->lchild != NULL && T->rchild != NULL) { x += "("; } //非子结点==操作符
WriteExpre(T->lchild);
x += (T->data);
WriteExpre(T->rchild);
if (T->lchild != NULL && T->rchild != NULL) { x += ")"; }
}
// 在函数结束时将字符串清空
x = "";
// 或者使用 x.clear(); 清空字符串
}
```
在每次递归调用返回之前,将字符串清空,从而避免字符串在多次递归计算后累积的问题。
阅读全文