读书人

gdb揭示:No symbol quot;expressionquot; in

发布时间: 2013-10-10 14:14:51 作者: rapoo

gdb提示:No symbol "expression" in current context.


void parseExpression(char* expression, char **expressionObjects){
int expressionLength = strlen(expression);
char operandString[20];
int place = -1;
int index = 0;
int i;
for(i = 0; i<expressionLength; i++){
if(expression[i] == '+'||expression[i] == '-' || expression[i] == '*' || expression[i] == '/'){
strcpy(expressionObjects[i], operandString);//this line
index++;
expressionObjects[index][0] = expression[i];
index++;
place = -1;
}
else{
place++;
operandString[place] = expression[i];
}
}
strcpy(expressionObjects[index+1], "end");
}


上面只是代码片段,在this line这个地方程序挂掉了,我在gdb中尝试打印i,expression,expressionObject[i],operandString,都提示No symbol "expression" in current context.
这是什么情况? gdb c
[解决办法]
没看到expression有什么问题呢
但是你的strcpy函数拷贝啥?operandString内容是什么?你又没赋值又没初始化!
还有看看 拷贝会不会越界,每个够不够20个字节

读书人网 >C语言

热点推荐