奇怪的内存访问违规问题
#define RD_LEN 12char* rd_str()
{
char str[RD_LEN];
int i;
srand(time(NULL));
for(i=0;i<RD_LEN;++i)
str='A'+rand()%26;
str[++i]='\0';
return str;
}
然后再另外一个函数中进行调用
const char* GetRDStr()
{
char* str=(char*)malloc(sizeof(char)*(RD_LEN+1));
str=rd_str();
//1
strcpy(str,rd_str());
//2
return str;
}
现在遇到的问题是 不管用1还是2的方式来获取函数的返回值 都报出 内存访问Access Violation的错误
代码要怎么改写?