此段程序为何不能执行,球高手指教
#include<stdio.h>#include<string.h>
#include<malloc.h>
void qwe(char **T,char* chars)//字符串的复制,从第二个位置复制,第一个位置用来存储长度
{
int i,len;
char *p=NULL;
len = strlen(chars);
*T=(char*)malloc(len * sizeof(char));
for(i = 1; i <= len ; i++)
{
p[i] = chars[i-1];
}
p[0] = len;
*T = '\0';
strcpy(*T,p);
printf("%s",*T);
}
void main()
{
char *q;
char *s;
printf("输入主串s:\n");
gets(s);
qwe(&q,s);
printf("%d",q[0]);
}