为什么不能输出?
//对串的操作,输入一个字符串,为什么不能输出?代码该如何修改?#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define OVERFLOW -2
#define NULL 0
typedef int Status;
typedef struct
{
char *ch;
int length;
}HString;
Status StrAssign(HString &T,char *chars)
{
char *c;
int len;
int i=0;
int j=0;
if(T.ch)
free(T.ch);
len=strlen(chars);
if(!i)
{
T.ch=NULL;
T.length=0;
}
else
{
if(!T.ch)
{
exit(OVERFLOW);
}
for(i=0;i<strlen(chars);i++)
{
T.ch[i]=chars[i];
}
T.length=i;
}
return OK;
}
Status PrintString(HString T)
{
int i=0;
for(i=0;i<T.length;i++)
{
printf("%c",T.ch[i]);
}
return OK;
}
int _tmain(int argc, _TCHAR* argv[])
{
int pos,len;
int i=0;
int k=0;
HString S1,S2,T,Sub;
char chars[20];
printf("input S1:\n");
scanf("%s",chars);
StrAssign(S1,chars);
PrintString(T);
return 0;
}