大家看看这段代码为什么会产生野指针
#include <stdio.h>
#include <string.h>
char* screen_on(char* returnBuff)
{
int i;
char buff[6] = {0xA0, 0xA1, 0x1D, 0xD1, 0xC1, 0xD2};
strcpy(returnBuff, buff);
return returnBuff;
}
int main()
{
int i;
char buff[128] = {0};
screen_on(buff);
for(i = 0; i < sizeof(buff)/ sizeof(char); i++)
{
printf("%d ", buff[i]);
}
printf("\n");
return 0;
}
[解决办法]
没有产生野指针啊
[解决办法]
strcpy(returnBuff, buff);
改为:
strncpy(returnBuff, buff, 6);
[解决办法]