首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

gdb揭示:No symbol "expression" in current context

2013-10-10 
gdb提示:No symbol expression in current context.void parseExpression(char* expression, char **exp

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个字节

热点排行