条件跳转或移动取决于未初始化的值strcat

时间:2015-05-05 03:28:03

标签: c racket tokenize

我知道发生了这个valgrind错误,因为我试图使用未初始化的东西。 下面的代码是导致此错误的代码。它正在做的是尝试读取球拍代码并获取每个符号,如+或定义。 (标记化) 我不希望你彻底理解代码,因为有很多其他代码可以理解它正在做什么。 但是,我真的很感激你是否可以告诉我为什么我在这一行上出现这个错误的原因symbol = strcat(symbol, newsymbol);

char* newsymbol = talloc(sizeof(char)*2);
                *newsymbol = charRead;
                newsymbol[1] = '\0';
                symbol = strcat(symbol, newsymbol);

1 个答案:

答案 0 :(得分:3)

由于symbol未被nul终止,您需要先nul将其终止,然后再将其传递给strcat()