首先,看下面的简单代码:
char str[80] = "This is - my text - for test";
const char s[2] = "-";
char *token;
token = strtok(str, s);
while (token != NULL) {
printf(" %s\n", token);
token = strtok(NULL, s);
}
该函数strtok()
返回数据类型char*
,如您所见,我们创建了一个名为token
该变量未初始化的变量。
现在,看看下面的代码:
char *buff;
int num = 500;
sprintf(buff, "%d", num);
前面代码的结果是错误uninitialized local variable 'buff'
。
我的问题是,为什么在第一个代码中没有出现任何问题,而在第二个代码中出现了错误?