#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 100
void recognize(char input[])
{
int i,k=0;
int number=0;//enum的默认计数起点
char temp[MAX];//主串
char cut[MAX]={0};//子串
strcpy(temp,input);//用副本检测
for(i=0;i<MAX;i++)
{
if(temp[i]=='{')
{
k=i+1;
break;
}
}
for(i=0;i<MAX&&temp[k]!='}';i++)
{
cut[i]=temp[k];
k++;
}
//printf("%s\n",cut);
//printf("%d\n",strlen(cut));
char* final=strtok(cut,",");
char output[30]={0};
char*temp0=NULL;
bool find_equal=false;
char middle1[20]={0};
char middle2[20]={0};
// char test[MAX]={0};
while(final)
{
strcpy(output,final);
final=strtok(NULL,",");
//如果存在赋值的成员,则修改number
for(i=0;i<strlen(output);i++)
{
if(output[i]=='=')
{
find_equal=true;
break;
}
}
if(find_equal)
{
int k=0;
int j=0;
//printf("找到了等号\n");
for(k=0;k<i;k++)
middle1[k]=output[k];
for(k=i+1;k<strlen(output);k++)
{
middle2[j]=output[k];
j++;
}
strcpy(output,middle1);
number=atoi(middle2);
find_equal=false;
//改变number值,改变output值
}
//如果存在赋值的成员,则修改number
printf("%s %d\n",output,number);
number++;
}
}
void main()
{
char input[MAX];
gets(input);
//printf("%s\n",input);
if(input[0]=='e'&&input[1]=='n'&&input[2]=='u'&&input[3]=='m')
{
recognize(input);
}
else
printf("错误");
}