#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
int StringLen(char*);
void StringCopy(char*,char*);
char* StringCat(char*,char*);
int StringCmp(char*,char*);
int StringLen (char *a)
{
int dem = 0,i=0;
while(a[i] != NULL)
{
dem++;
i++;
}
return dem;
}
void StringCopy (char *des,char *sour)
{
for(int i = 0; i <= StringLen(sour);i++)
{
des[i] = sour[i];
}
}
char* StringCat(char *des,char* sour)
{
int flag = 0,index = 0;;
char *temp = (char*)malloc(sizeof(des) + sizeof(sour));
for(int i = 0; i < StringLen(des) + StringLen(sour) + 1; i++)
{
if(flag != 1)
{
temp[i] = des[i];
}
if( i >= StringLen(des) )
{
temp[i] = sour[index];
index++;
}
if(des[i+1] == NULL)
{
flag = 1;
}
}
return temp;
}
int StringCmp (char* a,char* b)
{
int Sum_a,Sum_b;
Sum_a = Sum_b = 0;
for(int i = 0; i < StringLen(a); i++)
{
Sum_a += a[i];
}
for(int j = 0; j <StringLen(b); j++)
{
Sum_b += b[j];
}
if( Sum_a > Sum_b)
{
return 1;
}
if( Sum_a == Sum_b)
{
return 0;
}
return -1;
}
void main()
{
char a[10],b[15];
StringCopy(a,"hehehe");
StringCopy(b," chuoi b");
char c[35];
StringCopy(c,StringCat(a,b));
printf("%d\n",StringCmp(a,b));
puts(c);
getch();
}