数据结构 字符串的长度

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct
{
    char * ch;
    int length;
}HString;
void StrAssign(HString &T ,char *chars)
{
    int i;
    char* c=chars;
    for(i=0;*c;++i,++c)
    {
        if(!i)
        {
            T.ch=NULL;
            T.length=0;
        }
        else
        {
            if(!(T.ch=(char*)malloc (i*sizeof(char))))
            {
                printf("ERROR");
                return ;
            }
            int j;
            for(j=0;j<1;j++)
            {
                T.ch[j]=chars[j];
            }
            T.length=i;
        }

    }
}
int StrLength(HString &S)
{
    return S.length;
}
char str[1000005];
int main()
{
    while(gets(str))
    {
        HString hstring;
        StrAssign(hstring,str);
        printf("%d",StrLength(hstring)+1);
    }
}

原文地址:https://www.cnblogs.com/zeross/p/5013148.html