trim:修改;
trim 函数一般删除(所谓删除其实是限制区域)字符串两端的某一字符:
void trim(const char exp[], int& lo, int& hi, char c = ' '){
while (lo <= hi && exp[lo] == c) ++lo;
while (lo <= hi && exp[hi] == c) --hi;
}
当然这样写也过于死板,比如我们想确定被括号圈中的区域,也即左侧来到第一个(
,右侧来到)
。
void trim(const char exp[], int& lo, int& hi) {
while (lo <= hi && exp[lo] != '(' && exp[lo] != ')') ++lo;
while (lo <= hi && exp[hi] != '(' && exp[hi] != ')') --hi;
}