报错..不知道是什么原因

时间:2021-08-06 21:14:38
void DrawSnake()
{
int i = 0;
for (i = 0; g_arrSnake[i][0] != 0; i++)
{
strncpy(q_strGameBack[g_arrSnake[i][0]][g_arrSnake[i][1]],"*",2);
}
}

然后下面提示
报错..不知道是什么原因

4 个解决方案

#1


改成这样:

void DrawSnake()
{
int i = 0;
for (i = 0; g_arrSnake[i][0] != 0; i++)
{
strncpy(q_strGameBack[g_arrSnake[i][0]], "*", 2);
}
}

#2


1:strncpy类型需要char*
2:关闭安全开发生命周期
参考: https://blog.csdn.net/duke56/article/details/52403458

#3


检查q_strGameBack[g_arrSnake[i][0]][g_arrSnake[i][1]]的类型,类型应该是char,建议用 &q_strGameBack[g_arrSnake[i][0]][g_arrSnake[i][1]];
或者其他方式,保证strncpy的第一个参数是char *类型。

#4


引用 1 楼 phenix2009 的回复:
改成这样:

void DrawSnake()
{
int i = 0;
for (i = 0; g_arrSnake[i][0] != 0; i++)
{
strncpy(q_strGameBack[g_arrSnake[i][0]], "*", 2);
}
}

这样写画不出来东西。。。。

#1


改成这样:

void DrawSnake()
{
int i = 0;
for (i = 0; g_arrSnake[i][0] != 0; i++)
{
strncpy(q_strGameBack[g_arrSnake[i][0]], "*", 2);
}
}

#2


1:strncpy类型需要char*
2:关闭安全开发生命周期
参考: https://blog.csdn.net/duke56/article/details/52403458

#3


检查q_strGameBack[g_arrSnake[i][0]][g_arrSnake[i][1]]的类型,类型应该是char,建议用 &q_strGameBack[g_arrSnake[i][0]][g_arrSnake[i][1]];
或者其他方式,保证strncpy的第一个参数是char *类型。

#4


引用 1 楼 phenix2009 的回复:
改成这样:

void DrawSnake()
{
int i = 0;
for (i = 0; g_arrSnake[i][0] != 0; i++)
{
strncpy(q_strGameBack[g_arrSnake[i][0]], "*", 2);
}
}

这样写画不出来东西。。。。