#include<stdio.h>
#include<string.h>
char *existence[5]={
"a",
"aa",
"b",
"bc",
"c"
};
int existenceint[5]={23,24,51,66,28};
char *cur;
char process[100]={'/0'};
int processint=0;
void sniff(char *cur)
{
int i;
for (i=0;i<=5;i++)
{
if (i==5) return;
if (cur==strstr(cur,existence[i]))
{
int len=strlen(existence[i]);
strcat(process,existence[i]);
strcat(process," ");
processint+=existenceint[i];
if(*(cur+len)!='/0') sniff(cur+len);
else
{
printf("%s %d/n",process,processint);
process[strlen(process)-len-1]='/0';
processint-=existenceint[i];
return;
}
process[strlen(process)-len-1]='/0';
processint-=existenceint[i];
}
}
}
void main()
{
sniff("aaabca");
}