有 12 个元素的 *prim 数组,并且只初始化了 7 个元素。这是代码:
int f(int input)
{
char *prim[12] = {"2", "3", "5", "7", "11", "13", "17"};
int i;
for(i=0; i<12; i++)
{
if(i % input == 0)
{
strcat(result, prim[i]);
strcat(result, " ");
}
}
if(strlen(result) == 0)
{
printf("return -1");
}
else
{
printf("%s\n", result);
printf("return 0");
}
}
当 i = 8 调试器给我一个访问冲突读取位置。
我的朋友给了我这个他大学编程基础课程的考试样本,我需要帮助他通过考试。
所以,我的问题是:有没有关于 C 编程我不知道的东西,或者教授在声明 *prim 时犯了一个错误?